Escape GUI - Wurde ein GUI-Element bedient oder nicht?
Übersicht

PacManiBetreff: Escape GUI - Wurde ein GUI-Element bedient oder nicht? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallihallo,
hoffe hier hat jemand schon mit der Escape GUI gearbeitet - da ich dazu eine Frage habe und eine Antwort will äh möchte ![]() Wie kann man eigentlich feststellen, ob innerhalb eines GUI-Bereichs geklickt wurde, also ob man irgendwas auf Fenstern bedient hat, oder nicht? Momentan sieht das bei mir so aus, dass man mit CameraPicking in Blitz3D Blöcke setzen kann, wenn man die linke Maustaste betätigt. Die Blöcke werden auch dann gesetzt, obwohl man auf ein Element der Benutzeroberfläche mit der linken Maustaste geklickt hat. Vielen Dank im Voraus für alle Antworten. |
||
PacMani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Habe einfach mal den Author gefragt und die Lösung war im Grunde sehr einfach: Man überprüfe, ob sich der Mauszeiger über eines der Fenster befindet.
Das kann dan Beispielsweise so eingebaut werden (habe die eg_main() passend modifiziert), ich habe die Flag in GUIHandled gespeichert (einfach gucken, ob so eine Variable True ist, dann nichts anderes ausführen und wieder auf False setzen): Code: [AUSKLAPPEN] ;--------------------------------------------------------------------------------------------------------------
;--> Maustaste gedrückt? ;-------------------------------------------------------------------------------------------------------------- If MHL Then ;MHL steht bei mir für MouseHitLeft ;Überprüfen, ob Klick in Bereich eines Fenster ging ;Prüfe alle Fenster For eg_win = Each eg_window ;Fenster sichtbar? If eg_win\visible Then If RectsOverlap(MX, MY, 1, 1, eg_win\x, eg_win\y, eg_win\w, eg_win\h) Then ;Klick ging in Fenster GUIHandled = True Exit End If End If Next ... Da dass aber nicht ComboBox-Klicks und Menü-Klicks abfängt, hier eine komplett gefixte eg_system.bb für die, die es einfach haben wollen (auch hier wird die Flag in GUIHandled gespeichert): https://www.blitzforum.de/upload/file.php?id=9443 ^-- Update: Auch bei Textboxen kann man jetzt nicht mehr "durchklicken" |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group