Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Controls: Beispiele für erweiterte Stile für Buttons und Static-Controls
PRFellow- Vorlage
Autor: Thomas Hölzer
Ein paar Beispiele für erweiterte Stile für Buttons und Static-Controls
DEF SetWindowLong(3) !USER32,SetWindowLongA
DEF GetWindowLong(2) !USER32,GetWindowLongA
Proc CreateStaticEx
Parameters t$,x%,y%,x1%,y1%,border%,alignment%
Declare h&,xstyle%
Let h&=CreateText(%hwnd,t$,0,0,0,0)
let xstyle%=1
Case border%:Let xstyle%=$200
SetWindowLong(h&,-20,xstyle%)
SetWindowLong(h&,-16,Or(GetWindowLong(h&,-16),alignment%))
SetWindowPos h&=x%,y%-x1%,y1%
Return h&
EndProc
Proc CreateCheckBoxEx
Parameters t$,x%,y%,x1%,y1%,border%
Declare h&,xstyle%
let xstyle%=1
Case border%:Let xstyle%=$200
Let h&=CreateCheckBox(%hwnd,t$,0,0,0,0)
SetWindowLong(h&,-20,xstyle%)
SetWindowPos h&=x%,y%-x1%,y1%
Return h&
EndProc
Proc CreateRadioBtnEx
Parameters t$,x%,y%,x1%,y1%,border%
Declare h&,xstyle%
let xstyle%=1
Case border%:Let xstyle%=$200
Let h&=CreateRadioButton(%hwnd,t$,0,0,0,0)
SetWindowLong(h&,-20,xstyle%)
SetWindowPos h&=x%,y%-x1%,y1%
Return h&
EndProc
Proc CreateCheckButton
Kann mit GetCheck abgefragt werden wie normale CheckBox!
Parameters t$,x%,y%,x1%,y1%
Declare h&
Let h&=CreateCheckBox(%hwnd,t$,0,0,0,0)
SetWindowLong(h&,-16,Or(GetWindowLong(h&,-16),4096))
SetWindowPos h&=x%,y%-x1%,y1%
Return h&
EndProc
Proc CreateFlatButton
Parameters t$,x%,y%,x1%,y1%
Declare h&
Let h&=CreateButton(%hwnd,t$,0,0,0,0)
SetWindowLong(h&,-16,Or(GetWindowLong(h&,-16),32768))
SetWindowPos h&=x%,y%-x1%,y1%
Return h&
EndProc
Proc CreateMultiLineButton
Parameters t$,x%,y%,x1%,y1%
Declare h&
Let h&=CreateButton(%hwnd,t$,0,0,0,0)
SetWindowLong(h&,-16,Or(GetWindowLong(h&,-16),8192))
SetWindowPos h&=x%,y%-x1%,y1%
Return h&
EndProc
Beispiele
Declare hcheck&
SetTrueColor 1
WindowTitle Ein paar Beispiele für erweiterte Stile für Buttons und Static-Controls
Cls RGB(192,192,192)
TextColor 0,RGB(192,192,192)
Usefont Times New Roman,15,0,0,1,0
SetDialogFont 1
CreateStaticEx Static linksbündig mit Zeilenumbruch,10,10,150,100,1,0
CreateStaticEx Static zentriert mit Zeilenumbruch,200,10,150,100,0,1
CreateStaticEx Static rechtsbündig mit Zeilenumbruch,400,10,150,100,1,2
CreateListBoxEx 400,10,150,180,1
CreateCheckBoxEx 3DCheckBox 0,10,120,150,26,0
CreateCheckBoxEx 3DCheckBox 1,10,160,150,26,1
CreateRadioBtnEx 3DRadioBtn 0,200,120,150,26,0
CreateRadioBtnEx 3DRadioBtn 1,200,160,150,26,1
CreateCheckButton CheckButton,10,200,100,24
let hcheck&=@&(0)
CreateFlatButton FlatButton,200,200,100,24
CreateMultiLineButton Das ist ein MultiLineButton mit ziemlich langem Text.,
400,120,150,100
While 1
IF GetCheck(hcheck&)
DrawText 10,240,Unten
Else
DrawText 10,240,Oben
EndIf
WaitInput
Wend