|
Hey...I'm writing a C++ program in straight-out API (no MFC or anything). How do I keep a window from having a maximize button? DO I put it in the class definition or when I CreateWindow? Also, how do I make it so the borders are NOT sizeable? Any help would be appreciated, thanks. - Dave
|
|
|
|
|
Do not use WS_THICKFRAME and WS_MAXIMIZEBOX when you call CreateWindow[Ex]. Note that WS_OVERLAPPEDWINDOW is a combination of multiple styles, including thickframe and maximizebox. Have a look at its #define in winuser.h
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
Can anyone tell me what's wrong with this code:
CMenu menu;
CMenu *submenu;
menu.LoadMenu(IDR_POPUP);
submenu = menu.GetSubMenu(0);
submenu returns NULL
The menu looks as follows:
[POPUP]
Menuitem 1
Menuitem 2
...
|
|
|
|
|
Everything seems to be in order... You can try two things:
1. Cut and post the menu definition from your .rc file (open with Notepad and search for IDR_POPUP ).
2. Try with "Rebuild all". Sometimes the IDE looses track of changes in the resources and begins doing funny things.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Hi,
Has anyone run across this problem when after installing the August SDK this error message appears during the IDL build phase?
If so, what was your solution to get rid of it? I created a project using the ATL COM wizard and when I try to build the very code it generates this error message appears. I have done a search on my hard drive and can not locate this file. I have also tried looking for this error message on MSDN but to no avail.
Is there a preproccesor definition to get rid of XML support in a ATL COM file? This is ridiculous the COM program I am building does not require XML support, and why would MS include XML support and not have the right idl files to support just a plain vanilla build of Wizard generated code?
I have also tried d/l the latest MS XML SDK and that did not work either it did not include this file as well.
Thanks in advance for any help or comments!
Sam C
----
Systems Manager
Hospitality Marketing Associates
|
|
|
|
|
I saw it on another machine I was using for a couple of days. That machine had only the minimum SDK Installed.
On my primary development machine I have a lot more of the Platform SDK installed, and it works fine.
Hmmm, seems like it's possible to unselect some parts of the Platform SDK, which makes it impossible to compile ATL
The bad thing is that I don't know what part it is....
- Anders
Money talks, but all mine ever says is "Goodbye!"
|
|
|
|
|
How would I impliment this command to change the color of text?
|
|
|
|
|
Hi everybody,
I have an .exe app, which is exactly a dlg application. I would like to know if someone could explain me how i could automat excel. I would like to put in my dlg application a button which when it used i could open a excel workbook, calculate all the worksheets(to update data in each worksheet, thanks F9!), and close it.
thanks to anybody who will be able to help me.
gerald
|
|
|
|
|
Did you check COMEXCEL sample? It should be accessible from your VC++ help.
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
Hi
Is there a way to start my dialog-based app minimized?
Do I need to place some call in OnInitDialog?
regards
|
|
|
|
|
In OnInitDialog put ShowWindow(SW_MINIMIZE);
|
|
|
|
|
If I have two, 2d arrays of ints and want to copy one into the other is ther an easier way that copying each element using two for loops??
Andy
|
|
|
|
|
Have you considered using memcpy?
Michael
|
|
|
|
|
My app can only use wav and mp3. So, how can I do to know if it is an Mp3 or WAV??
I use the CFileDialog and used GetFileExt() method to check... but it only check its extension...
HEEEELP!
------------------------------
CodeCracker - That's me!
------------------------------
|
|
|
|
|
You'll have to read the beginning of the file. If it is a WAV file, bytes 0-3 will be have the ASCII chars: "RIFF" and bytes 8-11 will say "WAVE". Here's an example of the beginning of a wave file:
RIFFR) WAVE
-------------------------------------------------------------
01234567891011 -- Bytes
I'm not quite sure about an MP3 but it should be similar. Just do some research on the file format.
|
|
|
|
|
I have a project that has 2 versions of the exe (a 'lite' and a 'pro' version) and I want to do as much code sharing as possible. I know that using #define has fallen out of vogue for storing constants, but is there a 'new' C++ way of doing code sharing without using #defines as switches? My current in-mind solution is to create multiple build configurations and set different compiler switches for each one, and then wrap dependent code within those defines (i.e. "#ifdef _PRO_VERSION", etc).
Is this the way to do it? I've also played with having multiple 'projects' within the 'workspace' but I think this would complicate code sharing beyond what I'm willing to deal with.
Any thoughts on the subject would be greatly appreciated.
Thanks!
-jfaulken
When sushi is outlawed only outlaws will have sushi.
|
|
|
|
|
#define and #ifdef is still my preferred way of doing it. I too would be interested to know if there is a better way.
Michael
|
|
|
|
|
I have seen some workspaces which use multiple projects and I thought they made things look more complicated than they actually were (mind you I am quite new to VC++). My personal preference is the #ifdef approach using one project in a workspace, hope this helps makes your mind up on the issue.
"When I left you I was but the learner, now I am the Master" - Darth Vader
|
|
|
|
|
but is there a 'new' C++ way of doing code sharing without using #defines as switches?
Do not create new projects, they are not designed to do that; just for multiple configurations. Use #ifdefs, but without #defines. The symbol which controls which functionality goes into the binaries should be defined in the Settings/C++/Preprocessor definitions. The only difference between Debug-Pro and Debug-Lite (and corresponding release versions) config should be the presence/absence of _PRO_VERSION.
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
That's precisely what I did. Thanks for the input, everyone.
One additional piece of info that turned out to be very important... if you're using conditionals with your resources in order to make them selected into one configuration or another, you must additionally put the preprocessor define in the box under Settings/Resources/Preprocessor definitions or the resource compiler simply won't see it.
That killed about half an hour. ^_^
Thanks again for all the input!
-jfaulken
When sushi is outlawed only outlaws will have sushi.
|
|
|
|
|
That killed about half an hour. ^_^
Don't worry - I've spent much more time on that
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
Ifdef - endif is preffered method - indeed.
But there is another method often used too.
You can create two projects. Common files can be included in both projects. If some functionality needs to be in pro version, You can write empty function/class in version lite. Both will link, but only one will have real implementation.
Which method to use? It depends on the number of code/files and Your preferences.
I personally use ifdef method if there are not many changes.
|
|
|
|
|
Hello,
I know I have seen articles on this site regarding executables that accept switches eg.(test.exe /? for help).. I can't seem to find any of those articles.. Does any one have a link to a article on how to implement exe's that take switches?
Thanks,
Rob
|
|
|
|
|
|