GumGumKam
April 27th, 2005, 01:14 PM
I am very new to C++ and win32. What I do is just a dialog window with rightclick menu. I defined all icons, dialog and menu in resources.
It work fine for about 10 click. Suddenly it didn't function anymore!
Could anyone tell me what's wrong there!? Please!
In my WinMain:
int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil)
{
DialogBox(hThisInstance, MAKEINTRESOURCE(IDD_EMPTY), NULL, DlgProc);
return 0;
}
And DlgProc:
BOOL CALLBACK DlgProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
{
HMENU hMenu = LoadMenu (GetModuleHandle(NULL), MAKEINTRESOURCE(IDR_GMENU) );
HMENU hPopupMenu = GetSubMenu (hMenu, 0);
POINT pt;
switch(Message)
{
case WM_INITDIALOG:
{
SendMessage(hwnd, WM_SETICON, ICON_SMALL, (LPARAM)LoadIcon( GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_GSICON) ) );
SendMessage(hwnd, WM_SETICON, ICON_BIG, (LPARAM)LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_GICON)));
}
break;
case WM_RBUTTONDOWN:
{
GetCursorPos (&pt);
TrackPopupMenu (hPopupMenu, TPM_LEFTALIGN, pt.x, pt.y, 0, hwnd, NULL);
}
break;
case WM_CLOSE:
EndDialog(hwnd, 0);
break;
default:
return FALSE;
}
return TRUE;
}
It work fine for about 10 click. Suddenly it didn't function anymore!
Could anyone tell me what's wrong there!? Please!
In my WinMain:
int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil)
{
DialogBox(hThisInstance, MAKEINTRESOURCE(IDD_EMPTY), NULL, DlgProc);
return 0;
}
And DlgProc:
BOOL CALLBACK DlgProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
{
HMENU hMenu = LoadMenu (GetModuleHandle(NULL), MAKEINTRESOURCE(IDR_GMENU) );
HMENU hPopupMenu = GetSubMenu (hMenu, 0);
POINT pt;
switch(Message)
{
case WM_INITDIALOG:
{
SendMessage(hwnd, WM_SETICON, ICON_SMALL, (LPARAM)LoadIcon( GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_GSICON) ) );
SendMessage(hwnd, WM_SETICON, ICON_BIG, (LPARAM)LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_GICON)));
}
break;
case WM_RBUTTONDOWN:
{
GetCursorPos (&pt);
TrackPopupMenu (hPopupMenu, TPM_LEFTALIGN, pt.x, pt.y, 0, hwnd, NULL);
}
break;
case WM_CLOSE:
EndDialog(hwnd, 0);
break;
default:
return FALSE;
}
return TRUE;
}