PDA

Click to See Complete Forum and Search --> : Why TrackPopupMenu API does not work within a thread?


Chris
Jan 3rd, 2002, 02:29 AM
I have the following code and it show that the TrackPopupMenu is not working as expected.


DWORD WINAPI PopupMenuThread(LPVOID pParam)
{
DWORD id;
POINT pt;
HMENU hMenu2;

hMenu2 = CreatePopupMenu();
AppendMenu(hMenu2, MF_STRING, ID_OPTION_INFORMATION2, "Information 2");
AppendMenu(hMenu2, MF_STRING, ID_OPTION_RESERVATION2, "Reservation 2");
AppendMenu(hMenu2, MF_SEPARATOR, 0, NULL);
AppendMenu(hMenu2, MF_STRING, ID_OPTION_GAMES2, "Games 2");

GetCursorPos(&pt);
id = TrackPopupMenu(hMenu2, TPM_RETURNCMD | TPM_TOPALIGN, pt.x, pt.y, 0, hWndMain, NULL);
switch(id)
{
case ID_OPTION_INFORMATION:
MessageBox(hWndMain, "1", "###", MB_OK);
break;
case ID_OPTION_RESERVATION:
MessageBox(hWndMain, "2", "###", MB_OK);
break;
case ID_OPTION_GAMES:
MessageBox(hWndMain, "3", "###", MB_OK);
break;
default:
break;
}

DestroyMenu(hMenu2);

return 0;
}


Can someone give me some hints on how to resolve this? :mad:

regards,