|
TNguyen
I was browsing the board to see if anyone had found a solution to this problem, and came across your post. I imagine you have found a way round this by now, but I thought I would reply anyway:
I can't believe that the designers meant to make the task of connecting an event handler to a button more difficult than it used to be. I assume it was an unintended side effect of trying to produce the unified .NET programming interface (which regretably seems to have involved discarding MFC's ClassWizard) - but what continues to puzzle me is that this has not been subject to a patch or improvement in later releases.
I don't have an anwer, but I do have a workaround. Build a MENU item first, attach the handlers you want to it, then build a toolbar button with the same ID (and it will share the same event handlers).
If you right click on menu items and select the "add event handler" option, the Event Handler Wizard appears and gives you the option to create or edit handlers for COMMAND and UPDATE_COMMAND_UI messages.
The rule seems to be, right click on the thing you want to create a handler for and the Event Handler Wizard will provide pretty much the same functionality as MFC's ClassWizard - except that it doesn't work for toolbar buttons because right clicking doesn't give you the option - seems nuts to me!
Please let me know if you have found a better way in the meantime.
Best Regards
Cliff
|
|
|
|
|
hi
I wrote a service in which i want to pass some parameters from INI file but when i give the path as .\\TibcoTCPServer.ini it does not work but if i hard code the path it works fine. Can any body help me how can i pass the ini file path so that service will pick the parameters.
Thanks
Shailesh
|
|
|
|
|
.\\TibcoTCPServer.ini is a relative path, which means it's relative to whatever happens to be the current working directory at the moment. Use GetModuleFileName(NULL, ...) instead to get the application's fully-qualified path, then replace the filename with TibcoTCPServer.ini.
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
if i use GetModuleFinename(NULL..) I Get the Memory could not be read error. My Code is as
BOOL FillParams()
{
CFileFind fileFinder;
CIniReader m_IniFile;
TCHAR Buffer[BUFSIZE];
DWORD dwRet,nSize;
CString error;
dwRet = GetModuleFileName(NULL,Buffer,nSize);
if( dwRet == 0 )
{
error.Format("Failed GetCurrentDirectory %d",GetLastError());
WriteToLog((LPSTR)(LPCTSTR)error);
return 0;
}
WriteToLog(Buffer);
// Here i am changing the path..
}
But It is failing at GetModuleFineName function or crashing.
Any Suggestion..
Thanks
Shailesh
|
|
|
|
|
You've failed to inform the function of the size of the buffer.
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
I am using
#define BUFSIZE MAX_PATH
|
|
|
|
|
I did not indicate that the buffer itself was not large enough. Check your code again. Note the third parameter being passed to GetModuleFileName() .
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
Thanks David U are Rock.
Thanks
shailesh
|
|
|
|
|
I'm trying to use AnimateWindow() in my dialog's InitDialog() handler as I've seen in a few other places, but I keep getting compiler errors if I try to call the global api (::AnimateWindow(hWnd,200,AW_SLIDE), or without the scope resolution operator, or even as a member of my CDialog-derived class. I also tried an example I found on the MSDN where I use FARPROC and load the function from user32.dll and it tells me that I'm supplying too many parameters for a pointer to function (even though I just cut and paste the code right out of the MSDN). Any help would be greatly appreciated.
[insert witty comment here]
bdiamond
|
|
|
|
|
bdiamond wrote:
...but I keep getting compiler errors...
And those errors would be?
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
When I try to use it globally, I get these:
g:\My Projects\CPlusPlus\VC.NET\Bug Reporter\Bug Reporter\ChatDlg.cpp(60): error C2039: 'AnimateWindow' : is not a member of 'operator``global namespace'''
g:\My Projects\CPlusPlus\VC.NET\Bug Reporter\Bug Reporter\ChatDlg.cpp(60): error C2065: 'AW_SLIDE' : undeclared identifier
g:\My Projects\CPlusPlus\VC.NET\Bug Reporter\Bug Reporter\ChatDlg.cpp(60): error C3861: 'AnimateWindow': identifier not found, even with argument-dependent lookup
And when I try to use it as a member function of CDialog-derived class, I get these:
g:\My Projects\CPlusPlus\VC.NET\Bug Reporter\Bug Reporter\ChatDlg.cpp(60): error C2039: 'AnimateWindow' : is not a member of 'CChatDlg'
g:\My Projects\CPlusPlus\VC.NET\Bug Reporter\Bug Reporter\ChatDlg.cpp(60): error C2065: 'AW_SLIDE' : undeclared identifier
[insert witty comment here]
bdiamond
|
|
|
|
|
I found another example here on CP in which the author says that you need to do this:
#undef WINVER
#define WINVER 1000000
I did that and now it works!! thanks
[insert witty comment here]
bdiamond
|
|
|
|
|
I've never heard of that version of Windows!
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
Me either, but I guess it's just to say that you have access to everything, since I think I've seen in some places it'll check WINVER in certain places (#if WINVER > 0x400 )
[insert witty comment here]
bdiamond
|
|
|
|
|
So you don't get slammed later on, I would go into the header file that contains the prototype for AnimateWindow() and see what value of WINVER it is looking for. Most likely it's 0x0500.
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
good idea
[insert witty comment here]
bdiamond
|
|
|
|
|
|
thanks!!!
[insert witty comment here]
bdiamond
|
|
|
|
|
Hi everyone
Is there a way to get the x and y coordinates of a CMenu item? For example, let's say 3 first items from my menu are :
File Edit View
how can I retrieve the x coordinate of the item "View"?
thanks
|
|
|
|
|
See GetMenuItemRect()
How do I print my voice mail?
|
|
|
|
|
Hockey,
??GetMenuItemRect()??
I can't find any function that goes by that name! I got GetMenuItemCount, GetMenuItemID, and GetMenuItemInfo, but no GetMenuItemRect
Where can I find it?
thanks
|
|
|
|
|
|
Sorry to both of you,
I just realize I forgot to mention that I'm working with Windows CE (Microsoft embedded Visual C++). That function is not available on Windows CE .. So is there another way to do it?
thanks
|
|
|
|
|
|
I have recently found out (today) how to put an icon on a button. But the icon is 16 x 16 and it's bigger on my button that it usually is when viewed anywhere else, like in Windows Explorer, so it looks like crap. Is there a way, without bit-blitting that I can make the icon size to fit the button if I make the button smaller?
[insert witty comment here]
bdiamond
|
|
|
|