Event bei Rechtsklick auf Anwendung in der Taskleiste ??

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
nco2k
Beiträge: 892
Registriert: 08.09.2004 23:13

Event bei Rechtsklick auf Anwendung in der Taskleiste ??

Beitrag von nco2k »

hi folks,

kann man irgendwie rausfinden, wenn man das kontext/sysmenu aufgerufen hat, auf die anwendung in der taskleiste ??

folgender code gibt immer ein eregnis zurück, wenn der kontext/sysmenu button (rechte maus) gedrückt wurde, aber leider nicht wenn man es auf die anwendung unten in der taskleiste macht. :(

Code: Alles auswählen

Procedure WndProc(hWnd, Msg, wParam, lParam)
  Select Msg
    Case #WM_CONTEXTMENU
      Debug "Klick!"
  EndSelect
  ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure

If OpenWindow(0, 0, 0, 480, 320, #PB_Window_TitleBar | #PB_Window_SystemMenu | #PB_Window_ScreenCentered, "Test") = 0 : End : EndIf
SetWindowCallback(@WndProc())

Repeat
  Event.l = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow : End
hoffentlich kann mir jemand weiterhelfen.

c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
Benutzeravatar
Laurin
Beiträge: 1639
Registriert: 23.09.2004 18:04
Wohnort: /dev/eth0

Beitrag von Laurin »

Lass dir doch mal alle Events ausgeben, die so passieren, wenn dein Programm minimiert ist. Drücke dann 3 mal mit rechter Maustaste drauf und gucke dann anch, welche EventID 3 mal aufgetreten ist.

So müsste es gehen.


Greetz Laurin
Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
Benutzeravatar
nco2k
Beiträge: 892
Registriert: 08.09.2004 23:13

Beitrag von nco2k »

@Laurin
das hab ich schon versucht, jedoch ohne erfolg. sonst würde ich ja nicht hier um hilfe bitten. :D

hat den keiner eine idee? :(

c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

bei mir kommt da 49328 raus. Allerdings ist das das selbe Event wie wenn ich dem Fenster den Focus geb.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
nco2k
Beiträge: 892
Registriert: 08.09.2004 23:13

Beitrag von nco2k »

ich glaub ich habs jetzt rausgefunden!

kann das mal jemand testen?? was der unterschied zwischen 278 und 279 ist, weiss ich nicht.

Code: Alles auswählen

Procedure WndProc(hWnd, Msg, wParam, lParam)
  Select Msg
    Case 278
      Debug "wird geöffnet ?!?!"
    Case 279
      Debug "wurde geöffnet ?!?!"
    Case 289
      Debug "ist offen"
    Case 293
      Debug "wurde geschlossen"
  EndSelect
  ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure

If OpenWindow(0, 0, 0, 480, 320, #PB_Window_TitleBar | #PB_Window_SystemMenu | #PB_Window_ScreenCentered, "Kontext-/Sysmenu Test") = 0 : End : EndIf
SetWindowCallback(@WndProc())

Repeat
  Event.l = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow : End
wo finde ich eigentlich die passenden konstantennamen?? ich arbeite lieber mit namen statt zahlen. :lol:

c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
Leo
Beiträge: 420
Registriert: 26.10.2004 18:26

Beitrag von Leo »

Jau funzt
Antworten