ZOrder der MaxGui auf MAC

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

Midimaster

Betreff: ZOrder der MaxGui auf MAC

BeitragMi, Sep 21, 2011 0:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei meiner Konvertierung eines aktuellen Projektes habe ich noch einen Unterschied zwischen der MaxGui auf Windows und der auf MAC OsX gemacht:

Es geht um die Tiefenreihenfolge von Gadgets die zum gleichen Parent gehören(ZOrder). Bei Windows liegen später erstellte Gadgets stets optisch hinter den früher erstellten Gadgets. Beim Mac führt der selbe Code dazu, dass die zuletzt erstellten Gadgets optisch vor den bereits erstellten liegen.

Aufgefallen war mir das ganze erst durch einen Schönheitsfehler, der auf dem PC nicht weiter auffiel aber auf dem Mac dazu führte, dass das TextGadget nicht mehr bedienbar war. Ich hatte dem Label-Gadget die fast gleiche X-Koordinate wie dem danebenliegendem Text-Gadget gegeben.
Da ich rahmenlose Labels benutze und das LabelGadget transparent ist sah man die Überlagerung nicht und ich brauchte eine Stunde, um herauszufinden, was los war. Ich hoffe der Tipp spart mal jemand anderem Zeit.


Problem: Auf dem Mac OsX gelingt das Klicken in die Textbox nicht:
BlitzMax: [AUSKLAPPEN]
Import MaxGUI.Drivers 

Local flags%=WINDOW_TITLEBAR | WINDOW_CLIENTCOORDS|WINDOW_CENTER
Window= CreateWindow("Leeres Test Window" , 0 , 0 , 300 , 200 , Null , Flags%)
TextField = CreateTextField ( 10 , 10 , 40 , 20 , Window )
Label = CreateLabel ( "Textfield" , 12 , 6 , 100 , 26 , Window , LABEL_RIGHT)
Button =CreateButton(" Show Problem", 10,100,100,40,Window,BUTTON_PUSH)

While WaitEvent()
Local tmpGadget:TGadget
Select EventID()
Case EVENT_WINDOWCLOSE
End
Case EVENT_GADGETACTION
SetGadgetColor Label,255,0,0
End Select
Wend
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe

blackgecko

BeitragFr, Sep 23, 2011 20:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Auf Linux ist das auch so - und das find ich auch logischer. Was als letztes draufgeklebt wird, ist eben ganz oben.
So long and thanks for all the fish.
Fedora 17 | Windows 7 || BlitzPlus | BlitzMax
Rechtschreibflame GO!!! Deppenapostroph | SeidSeit | Deppenakzent | DassDas | Deppenleerzeichen | TodTot | enzigste.info - Ja, ich sammel die.
 

jsp

BeitragFr, Sep 23, 2011 21:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Egal ob jetzt PC oder Mac, ich denke es ist keine gute Idee Gadgets überlappen zu lassen.
Wenn ich dein Beispiel sehe, sieht es so aus, als wenn du das Textfeld gerne mit Farbe unterlegen willst (z.B. rot bei Falscheingabe). Das geht auch einfacher indem man den Hintergrundfarbe des TextFields ändert, oder alternativ die Textfarbe.
Wenn eher der Effekt wie im Beispiel gewünscht ist, kann man ein Panel hinterlegen und dieses einfärben bei Bedarf, das wäre auch auf allen Plattformen gleich.
Logic Gui Professional a Gui Designer for MaxGui

Midimaster

BeitragSa, Sep 24, 2011 0:41
Antworten mit Zitat
Benutzer-Profile anzeigen
neeee...!!!

das war nur ein Demo, um den Bug deutlich herauszustellen. In der Realität wird dieses Problem viel subtiler auftreten: z.b. wenn Du glaubst die Elemente schön nebeneinander aufgebaut zu haben und nun sind die Gadgets auf dem Mac aber einige Pixel größer...

Bei mir hat sich das so bemerkbar gemacht, dass ich wohl links in die Textbox klicken konnte, um den Focus dorthinzubekommen,. Sobald ich aber etwas zu weit rechts in die TextBox geklickt habe, wollte der Focus irgendwie nicht in diese Textbox... Und die Ursache war eben ein Label, das rechts neben dem Textfeld etwas überlappte und mit seinem transparenten Bereich völlig unsichtbar vor der Textbox stand.

Rot hinterlegen wollte ich nie was!!!
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe
 

jsp

BeitragSa, Sep 24, 2011 14:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
neeee...!!!

LOL, verstehe.
Trotzdem sollte man natürlich das überlappen vermeiden, wahrscheinlich eh nur durch Zufall entdeckt, da hilft nur testen.
Wenn möglich sollte man mit 120 oder 150 dpi Schriftgröße testen, damit das Gadget nicht zu klein ist und etwas abschneidet und ebenso die Maximalgröße.
Logic Gui Professional a Gui Designer for MaxGui

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group