Avatar billede lbs Nybegynder
06. september 2000 - 13:50 Der er 2 kommentarer og
1 løsning

Popup menu

Jeg har et problem med en menu jeg bruger i forbindelse med et ikon i min systray.
Problemet er at når jeg skifter fokus, dvs klikker på et andet vindue, så forsvinder menuen ikke. Dette er specielt irriterende da ikonet ikke bringer menuen frem til forgrunden, da man jo allerede har åbnet det...


Nåemen jeg Bruger TrackPopupMenuEx til det, 500 points til den der kommer med ideen som løser problemet.
Avatar billede sjensen Nybegynder
06. september 2000 - 14:12 #1
Bruger du \"WMIconNotification\" til at styre visningen af menuen ?

hvis du gør, og desuden checker på om det er højre eller venstre museknap der er trykket på, burde menuen automatisk forsvinde hvis du bruger popupmenunavn->Popup(x,y) til at vise den med.
Avatar billede lbs Nybegynder
11. september 2000 - 13:52 #2
Jeg kan ikke få det til at virke.. det er et HMENU handle jeg har til min menu, og handle har vist ingen funktioner (handle=int)

Men her er min kode der kalder menuen frem:


    case WM_BUGICON:
        switch(LOWORD(lParam)){
        case WM_RBUTTONUP:
            POINT pos;
            GetCursorPos(&pos);
            TrackPopupMenuEx(subMenu,0,pos.x,pos.y,hwnd,NULL);           
        }
        break;


Jeg bruger IKKE MFC, kan det have noget med det at gøre??
Avatar billede lbs Nybegynder
11. september 2000 - 14:31 #3
problemet er løst
Vinduet skulle være forgrund, så fjerner den Menuen automatisk:


SetForegroundWindow(hwnd); 
TrackPopupMenuEx(subMenu,TPM_RIGHTBUTTON,pos.x,pos.y,hwnd,NULL);
PostMessage(hwnd, WM_NULL, 0, 0);

svaret blev fundet her:
http://support.microsoft.com/support/kb/articles/Q135/7/88.asp
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester