Seite 1 von 2
ButtonGadget - den Text nicht zentriert sondern "top&qu
Verfasst: 19.10.2005 13:43
von hiltwin
Funktioniert das, und wenn wie?
(Also, dass der Text im Button so angezeigt wird, als wäre es ein Textgadget, sprich linksbündig und oben und nicht in der Mitte zentriert)
Hab leider mit Ausprobieren und nachlesen nix dazu gefunden ...
Vielen Dank - freundlicher Gruss
Hiltwin
Verfasst: 19.10.2005 13:49
von AND51
Die einzige Möglichkeit, die mir spontan einfällt, ist die, dass du den anzuzeigenden Text via TextGadget manuell auf dem Button positionierst.
Oder manuell mit Hilfe von StartDrawing() und StopDrawing().
Verfasst: 19.10.2005 14:03
von ts-soft
Also linksbündig sollte mit #BS_LEFT gehen oder #BS_LEFT | #BS_TOP
Verfasst: 19.10.2005 14:07
von Kiffi
der Vollständigkeit halber:
Code: Alles auswählen
#BS_LEFT = $00000100
#BS_RIGHT = $00000200
#BS_TOP = $00000400
#BS_BOTTOM = $00000800
Grüße ... Kiffi
Verfasst: 19.10.2005 14:48
von hiltwin
@ TS und Kiffi:
bezieht sich das auf das von AND51 vorgeschlagene Textgadget?
Wenn ichs nämlich dem Button zuordne, bekomm ich als Fehlermeldung "Constant not found: #BS_LEFT "
@AND51
Ist eine Idee - mal sehen, wie das klappt. Hauptsache, der Button lässt sich noch drücken ...
Danke für Eure Hilfe ...
Verfasst: 19.10.2005 14:56
von FGK
@hiltwin
du kannst ja die Konstanten von Kiffi in dein Prog einbauen dann
mault der Compiler auch nicht mehr. Owohl eigentlich diese Konstanten
alle schon vordefiniert sein sollten.
Gruß
FGK
Beispielcode:
Code: Alles auswählen
#BS_LEFT = $00000100
#BS_RIGHT = $00000200
#BS_TOP = $00000400
#BS_BOTTOM = $00000800
If OpenWindow(0, 100, 200, 640,480,#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget|#PB_Window_WindowCentered , "PureBasic Window")
CreateGadgetList(WindowID())
l=100:h=40
x=WindowWidth()/2-(l/2):y=WindowHeight()/2-(h/2)
ButtonGadget(0,x,y,l,h,"NORMAL")
ButtonGadget(1,x-l-20,y,l,h,"LEFT",#BS_LEFT)
ButtonGadget(2,x+l+20,y,l,h,"RIGHT",#BS_RIGHT)
ButtonGadget(3,x,y-h-20,l,h,"TOP",#BS_TOP)
ButtonGadget(4,x,y+h+20,l,h,"BOTTOM",#BS_BOTTOM)
ButtonGadget(5,x-l-20,y-h-20,l,h,"TOP LEFT",#BS_LEFT|#BS_TOP)
ButtonGadget(6,x+l+20,y-h-20,l,h,"TOP RIGHT",#BS_RIGHT|#BS_TOP)
ButtonGadget(7,x-l-20,y+h+20,l,h,"BOTTOM LEFT",#BS_BOTTOM|#BS_LEFT)
ButtonGadget(8,x+l+20,y+h+20,l,h,"BOTTOM RIGHT",#BS_BOTTOM|#BS_RIGHT)
Repeat
EventID.l = WaitWindowEvent()
Select EventID
Case #PB_Event_Gadget
Select EventGadgetID()
;Case GadgetID
EndSelect
Case #PB_Event_CloseWindow
Quit = 1
EndSelect
Until Quit = 1
EndIf
End
Verfasst: 19.10.2005 14:56
von nco2k
@hiltwin
klappt doch:
Code: Alles auswählen
#BS_LEFT= $00000100
#BS_RIGHT = $00000200
#BS_TOP = $00000400
#BS_BOTTOM = $00000800
If OpenWindow(0, 0, 0, 200, 100, #PB_Window_SystemMenu | #PB_Window_ScreenCentered, "test")
If CreateGadgetList(WindowID(0))
ButtonGadget(0, 25, 25, 150, 50, "Text", #BS_LEFT | #BS_TOP)
Repeat
WinEvent.l = WaitWindowEvent()
Until WinEvent = #PB_Event_CloseWindow
EndIf
EndIf
End
c ya,
nco2k
Verfasst: 19.10.2005 14:58
von AND51
Hauptsache, der Button lässt sich noch drücken ...
Stimmt, mit nem Textgadget könnts Probleme geben. Versuchs eher mal mit Startdrawing...
Ahhhhhhhhhhhhhhhhhh, jetzt habe ich nonne Idee!!!!
Mach doch ein Bild in den Knopf, das geht mit ButtonImaGeadget(), so heißt das glaub ich.
Das bild wird dann zum Beispie 100x100 Pixel groß, und dein Text steht in der oberen Linken Ecke.
Weißt du was ich meine? Wie wärs damit?
Verfasst: 19.10.2005 15:06
von Kiffi
> bezieht sich das auf das von AND51 vorgeschlagene Textgadget?
nein, es bezieht sich auf Deine Frage.
> Wenn ichs nämlich dem Button zuordne, bekomm ich als Fehlermeldung
> "Constant not found: #BS_LEFT "
tja, dazu sage ich jetzt mal nichts...
Grüße ... Kiffi
Verfasst: 19.10.2005 15:09
von ts-soft
Die Konstanten sind ja tatsächlich nicht definiert
Jede unwichtige Konstante ist definiert, aber solche Standardsachen nicht
