Probleme mit SetGadgetSensitivity()

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

Midimaster

Betreff: Probleme mit SetGadgetSensitivity()

BeitragMi, Mai 25, 2011 13:09
Antworten mit Zitat
Benutzer-Profile anzeigen
ich versuche gerade eine ComboBox in MaxGui so zu erstellen, dass sie zunächst unsichtbar ist, dann an einer best. Stelle aufpoppt, ich dann darin einen Wert verstellen kann und dann verstecke ich sie wieder.

Dabei habe ich das Problem, wenn der User zwar die Box aufruft aber in der Box dann doch nichts ändert. Hier erhalte ich keinen EVENT_GADGETACTION und so weiß ich auch nicht, dass er die Box längst verlassen hat.

Nun bin ich auf SetGadgetSensitivity() gestoßen, dass angeblich mehr Events eines Gadgets liefert. Meine Idee war nun, dass ich den Event EVENT_MOUSELEAVE der Combo-Box abwarte und dann die Box wieder unsichtbar mache.

Aber, sobald ich SetGadgetSensitivity() aktiviere arbeitet die Box nicht mehr einwandfrei: Sie droppt nicht nach unten auf:

BlitzMax: [AUSKLAPPEN]
SuperStrict 
Import MaxGUI.Drivers

Local flags%=WINDOW_DEFAULT|WINDOW_CLIENTCOORDS|WINDOW_CENTER
Global Window:Tgadget = CreateWindow("ComboBox not working" , 0 , 0 , 400 , 200 , Null , Flags%)
Global ComboBox:TGadget = CreateComboBox(100 , 50 , 150,30,window )
For Local i%=0 To 5
AddGadgetItem ComboBox,i
Next
SelectGadgetItem combobox,0
'SetGadgetSensitivity ComboBox , SENSITIZE_MOUSE


While WaitEvent()
Select EventID()
Case EVENT_MOUSEUP, EVENT_MOUSEDOWN
Print EventID()
Case EVENT_GADGETACTION
Print EventData()
Case EVENT_MOUSELEAVE
Local tmpGadget:TGadget = TGadget(EventSource())
If tmpGadget=ComboBox
Print "Event mouseleave combo box"
EndIf
End Select
Wend




Was mache ich falsch?
 

FWeinb

ehemals "ich"

BeitragMi, Mai 25, 2011 13:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Auch wenn es dir nicht direkt helfen wird, auf dem Mac läuft das Beispiel einwandfrei. Scheint also eine MaxGui interne Limitierung des Windows Treibers zu sein. Habe aber keine Idee wie man das umgehen könnte. Vielleicht könntest du den Anwendungsfall beschreiben für den du es brauchst, dann könnte man eine andere Lösung finden.
"Wenn die Menschen nur über das sprächen, was sie begreifen, dann würde es sehr still auf der Welt sein." Albert Einstein (1879-1955)
"If you live each day as if it was your last, someday you'll most certainly be right." Steve Jobs

Midimaster

BeitragMi, Mai 25, 2011 14:16
Antworten mit Zitat
Benutzer-Profile anzeigen
uiihh...

Danke! Das hatte ich noch gar nicht ausprobiert.

Mal abwarten, ob jemand etwas für die WIN-Version dazusteuern kann. Im Notfall muss man es halt komplett anders machen...

Aber zunächst möchte ich sichergehen, dass der Fehler der WIN-Version nicht bei mir liegt.

Der Eisvogel

BeitragMi, Mai 25, 2011 14:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Also bei mir funktioniert die ComboBox mit aktivierten Sensitivity noch, jedoch bekomme ich kein MOUSELEAVE.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

Midimaster

BeitragMi, Mai 25, 2011 19:20
Antworten mit Zitat
Benutzer-Profile anzeigen
das ist ja seltsam.... Kann das von der Grafikkarte oder dem Rechner abhängen? Ist das jetzt schon ein Bug, den man melden sollte?

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group