Containergadget

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
John Doe
Beiträge: 57
Registriert: 02.01.2006 18:08

Containergadget

Beitrag von John Doe »

Hallo an alle,
nach erfolglosem Durchstöbern des Forums wende ich mich nun an alle mit folgender Frage:
Wie kann ich das Drücken der rechten Maustaste über einem Containergadget abfangen ohne ein Callback zu benutzen.
Befindet sich die Maus zB. über einem Textgadget, welches sich im Containergadget befindet, funktioniert es.
Befindet sie sich aber auf einem freien Platz innerhalb des Containergadgets, weiß ich beim besten Willen nicht, wie ich das Event abfangen kann.
Wer kann mir weiterhelfen ? :shock:
Benutzeravatar
Ja!
Beiträge: 271
Registriert: 02.01.2006 16:13
Wohnort: Stuttgart

Beitrag von Ja! »

Hi,


so klappts (getestet mit PB 4.0 auf Win2k):

Code: Alles auswählen

Repeat 

  eventID = WaitWindowEvent()

  Select eventID
  
    Case #WM_RBUTTONDOWN : Debug "Rechte Maustaste"

  EndSelect
 
 Until eventID = #PB_Event_CloseWindow 


Dies erkennt alle klicks im gesamten Klient-Bereich des Fensters.

Entsprechend kannst Du auch #WM_LBUTTONDOWN für die
linke und #WM_MBUTTONDOWN für die mittlere benutzen.
Für doppelklicks: #WM_LBUTTONDBLCLK ..usw.
Für Maustaste loslassen: #WM_LBUTTONUP ..usw.


Leider werden solch hilfreichen Dinge nicht in der
PB-Hilfe aufgeführt..

Gruß
Udo
Benutzeravatar
John Doe
Beiträge: 57
Registriert: 02.01.2006 18:08

Beitrag von John Doe »

Hallo Udo,
hab's probiert, klappt bei mir aber nicht.
ich benutze PB 3.94
Containergadget enthält eine Progressbar und zwei Textgadget.
Ein Popupmenü kann mittels rechter Maustaste nur über der Progressbar geöffnet werden, nicht aber sonstwo auf dem Container.
Benutzeravatar
John Doe
Beiträge: 57
Registriert: 02.01.2006 18:08

Beitrag von John Doe »

hab den Fehler entdeckt, hat sich alles erledigt
vielen Dank
Benutzeravatar
Ja!
Beiträge: 271
Registriert: 02.01.2006 16:13
Wohnort: Stuttgart

Beitrag von Ja! »

Und was war es?
Antworten