Seite 1 von 1
Systrays mit winapi verwalten
Verfasst: 14.02.2007 01:38
von Swappy
Hallo,
also ich habe irgendwie schon überall rumgesucht aber ich komme nicht weiter. Ich habe ein Fenster mit WinAPI geöffnet und möchte dazu nun ein Systray icon anlegen. Soweit klappt das, ich kann das ion da unten sehen, doch die klickabfrage geht nicht, meine frage ist jetzt wie ich das mit der API mache, weil die callback funktion die PB abfragen ja ignoriert...
Wäre cool wenn mir wer weiterhelfen könnte.
Verfasst: 14.02.2007 14:09
von a14xerus
wieso gehen deine klicks nicht???
bei mir hat das bis jetzt immer geklappt
fragst du auch das richtige event ab?
Verfasst: 14.02.2007 19:24
von Swappy
Also ich öffene mit CreateWindowEx_() ein fenster und gebe die Procedure unten als lpfnWndProc an...
Code: Alles auswählen
Procedure WindowCallback(Window, Message, wParam, lParam)
Select Message
Case #WM_CLOSE
DestroyWindow_(Window) : End
Case #WM_RBUTTONDOWN
DisplayPopupMenu(0,Window)
Case #PB_Event_SysTray
If EventGadget() = #CL_SysTray : End : EndIf
Default
Result = DefWindowProc_(Window, Message, wParam, lParam)
EndSelect
ProcedureReturn Result
EndProcedure
So geht das zb nicht...
Verfasst: 14.02.2007 19:27
von PureBasic4.0
mal ne allgemeine Frage: Warum benutzt du APIs? Es geht doch mit den "normalen" PB-Befehlen auch und ist einfacher zu bedienen
Verfasst: 14.02.2007 19:38
von Swappy
weil ich für meine zwecke die api function zum fenster öffnen brauche und ich da in der callback function keine pb event abfragen benutzen kann soweit ich das verstehe
Verfasst: 16.02.2007 14:50
von real
Kannst Du den kompletten Code posten? Oder zumindest noch den Teil, in dem das Fenster erstellt wird?
Verfasst: 16.02.2007 14:57
von #NULL
ich glaube du mußt in der callback-proc den rückgabe-wert #PB_ProcessPureBasicEvents verwenden, dann kannst du zusätzlich die PB-events verarbeiten.
Verfasst: 16.02.2007 16:36
von edel
Die Konstante ist nur dafuer da um die Nachricht auch im
naechsten (oder im eigentlichem) Callback zu verarbeiten.
Es gibt zwar einige PB-Events die die gleichen Werte haben
und auch das gleiche machen, darauf verlassen wuerde
ich mich allerdings nicht.Wenn du dein Fenster mit der WinApi
erstellt hast, musst du auch die Events mit WinApi abarbeiten.
Verfasst: 17.02.2007 15:20
von Swappy
Alles klar, ich habe das jetzt hinbekommen

danke!