MaxGUI Gadgets selber anordnen mit einer Hilfsfunk.

Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Neue Antwort erstellen

Markus2

Betreff: MaxGUI Gadgets selber anordnen mit einer Hilfsfunk.

BeitragSo, Dez 10, 2006 20:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Hilfsfunktion steuert die Pos. des Gadget mit einfachen Befehlen .
Left bringt es ganz nach links
Top bringt es ganz nach oben
SPX,SPY fügt eine Lücke ein
CR springt nach links und in der Gadgethöhe nach unten
G bewegt es an der Stelle von X,Y
Bei erstellen der Gadget kann man sich also X & Y schenken und da 0,0 eintragen .
Wichtig ist nur Breite und Höhe .

X & Y Werte werden immer zurück gegeben für
den nächsten Funktionsaufruf .

Beispiel:
Nach dem man die ganzen Gadgets erstellt hat im Resize Event
alle so rücken wie man sie haben will .
Code: [AUSKLAPPEN]


 EmitEvent CreateEvent(EVENT_WINDOWSIZE,MainWindow)

 Local x:Int
 Local y:Int

  WaitEvent() 
  Select EventID()
  Case EVENT_WINDOWSIZE
   Select EventSource()
   Case MainWindow   
    GadgetMove x,y,Canvas,["LEFT","TOP","G","CR","SPY","SPX"]
    GadgetMove x,y,LbMasse,["G"]
    GadgetMove x,y,SlMasse,["G"]
    GadgetMove x,y,cmdTesten,["G","CR","SPX"]
    GadgetMove x,y,LbRadius,["G"]
    GadgetMove x,y,SlRadius,["G","CR","SPX"]


Code: [AUSKLAPPEN]

Function GadgetMove(x:Int Var, y:Int Var, G:TGadget,Pos:String[])

 Local P:String
 Local osp:Int = 4
 
  For Local P:String=EachIn Pos
   Select Upper(P)
   Case "G"
    SetGadgetLayout G,1,0,1,0
    SetGadgetShape G,x,y,GadgetWidth(G),GadgetHeight(G)
    'RedrawGadget G
    x = x + GadgetWidth(G)
   Case "LEFT"
    x = 0
   Case "TOP"
    y = 0
   Case "SPX"
    x = x + osp
   Case "SPY"
    y = y + osp
   Case "CR"
    x = 0
    y = y + GadgetHeight(G)
   End Select
  Next
 
End Function

Blitzcoder

Newsposter

BeitragSo, Dez 10, 2006 21:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist sicher hilfreich, aber ich kann es leider nicht testen, da ich keine MaxGUI habe.
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________
|°°°°°°°°°°°°°°||'""|""\__,_
|______________ ||__ |__|__ |)
|(@) |(@)"""**|(@)(@)****|(@)

Markus2

BeitragSo, Dez 10, 2006 22:16
Antworten mit Zitat
Benutzer-Profile anzeigen
@Blitzcoder
die 27,98 EUR sollten nicht weh tun Wink

D2006

Administrator

BeitragDi, Dez 12, 2006 0:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Schicker wär's, wenn du das mit Flags arbeiten würdest. Also so:
Code: [AUSKLAPPEN]
GadgetMove gadget,x,y, LEFT | TOP | G | ...


Wie du siehst, finde ich es auch logischer und kompatibler, wenn man erst das Gadget nennt und dann x,y. Aber das kann man sich ja selbst fix anpassen.
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

Markus2

BeitragDi, Dez 12, 2006 15:24
Antworten mit Zitat
Benutzer-Profile anzeigen
@D2006

das geht aus dem Grund nicht weil man mit der Art wie du
es vorschlägst keine Reihenfolge bilden kann Wink

D2006

Administrator

BeitragDi, Dez 12, 2006 16:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Embarassed

... öhm ... es war spät ... Wink
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group