TrackPopupMenuEx dúvida velha...

Started by Rafael93, 30 de June , 2008, 10:33:22 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

blackwinner

Eu to ligado \=
Na época que fiz esse kl eu ainda estava começando a estudar a estrutura do windows e suas APIs.. ai saiu essa **** ai  :D ;D
sergaralho.blogspot.com --> a informação como ela deve ser.. pura!

Rafael93

Resolvido (na gambiarra xD)
simplesmente .. criar uma janela para interpretar o menu

tipo esse TrackPopupMenuEx() tem um bug mesmo
pra resolver eu criei apenas uma janela Static invisível
e então ela é uma janela ponte apenas...
ela recebe a mensagem e já passa no CallWndProc()
para a janela principal e então o menu some...
se alguém precisar.....
ficou assim:

...
tray.cbSize = sizeof(NOTIFYICONDATA);
tray.hWnd   = MENUBUG; // "janela vazia"
tray.uID    = 1;
tray.uFlags = NIF_ICON|NIF_MESSAGE|NIF_TIP;
tray.uCallbackMessage = 8492;
tray.hIcon = hicon;
sprintf(tray.szTip,"Window Manager");
...
SetForegroundWindow(tray.hWnd);
TrackPopupMenuEx(traymenu,0,x,y,tray.hWnd,0);
// já que o menu é alterado dinâmicamente e à toda hora
// não o destruo aki..e sim no final do programa
// vou arrumar isso depois

vlw pela ajuda
flw
teh+
Get rich or program trying