» »

[Win32 API]Popup menu v taskbaru

[Win32 API]Popup menu v taskbaru

Gundolf ::

A kdo pozna način, kako z windows APIjem nastaviš / popraviš popup menu svoje aplikacije, ki ti ga winsi prikažejo ob desnem kliku na taskbar ikono / text?

64202 ::

Kar (skoraj) komplet koda:
// v initu ikone (Shell_NotifyIcon):

NOTIFYICONDATA nid;
...
nid.hWnd = tvoj_window;
nid.uflags |= NIF_MESSAGE;
nid.uCallbackMessage = TVOJMESSAGE;


// message handler od tvoj_window:

        if(message == TVOJMESSAGE) {
                if(lParam == WM_RBUTTONDOWN || lParam == WM_CONTEXTMENU) {
                               POINT pos;
                                GetCursorPos(&pos);
                                SetForegroundWindow(hwnd);
                                TrackPopupMenu(tvoj_menu, TPM_LEFTALIGN | TPM_TOPALIGN,
                                        pos.x, pos.y, 0, hwnd, 0);
                }

                if(lParam == WM_LBUTTONUP) {
                        ... left klik na ikono
                }

                if(lParam == NIN_BALLOONUSERCLICK)
                        ... klik na balon

                return TRUE;
        }
I am NaN, I am a free man!

64202 ::

Pa za balon rabis se vsaj IIRC:
#define _WIN32_WINNT 0x500
#define _WIN32_IE 0x0501
I am NaN, I am a free man!

64202 ::

Aja damn, sem prebral tray, pozab to :)
I am NaN, I am a free man!

veteran ::

Gundolf, to je "System menu". V WM_CREATE tvojega okna z GetSystemMenu() dobiš handle tega menuja, pol pa AppendMenu, InsertMenu, RemoveMenu...

Gundolf ::

Ok thanks veteran, bom poizkusil.

Sori 64202, k si se namuču s tole kodo :) Se pravi to je pa način za handlat menu od ikonce v taskbaru?

Zgodovina sprememb…

  • spremenil: Gundolf ()

64202 ::

Nisem se namucu, samo pasteal sem delujoco kodo za tray ikonco :)
I am NaN, I am a free man!


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[C++] preprosto risanje

Oddelek: Programiranje
71655 (1532) popec
»

C++ programirane v Open GL oz. Direct x

Oddelek: Programiranje
242963 (2234) Vesoljc
»

OpenGL problem

Oddelek: Programiranje
212474 (2040) Gundolf
»

c++ zapis funkcije

Oddelek: Programiranje
81186 (1109) Vesoljc
»

Win32 API in C++

Oddelek: Programiranje
131550 (1421) Monster

Več podobnih tem