Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Fortschrittsbalken erstellen
$P+
proc hintergrund
Parameters graf_color%,graf_hcolor%,graf_prozent%,graf_x%,graf_y%,graf_dx%,graf_dy%
graf_dx% =add(graf_x%,graf_dx%)
graf_dy% =add(graf_y%,graf_dy%)
Usepen 0,1,graf_hcolor%
Usebrush 1,graf_color%
Rectangle graf_x%,graf_y%-graf_dx%,graf_dy%
Usepen 0,1,rgb(128,128,128)
Usebrush 0,graf_hcolor%
Line sub(graf_x%,1),sub(graf_y%,1)-graf_dx%,sub(graf_y%,1)
Line sub(graf_x%,1),sub(graf_y%,1)-sub(graf_x%,1),graf_dy%
Usepen 0,1,rgb(255,255,255)
Line graf_x%,graf_dy%-graf_dx%,graf_dy%
Line graf_dx%,graf_y%-graf_dx%,graf_dy%
ENDPROC
proc anzeige
Parameters graf_color%,graf_hcolor%,graf_prozent%,graf_x%,graf_y%,graf_dx%,graf_dy%,graf_mode%
Declare vorl_x%,graf_textx%,graf_texty%
Usefont SMALL,8,0,1,0,0
Textcolor RGB(0,110,0),-1
graf_textx%=add(graf_x%,sub(div&(graf_dx%,2),20))
graf_texty%=add(graf_y%,sub(div&(graf_dy%,2),8))
vorl_x%=div&(mul(graf_prozent%,sub(graf_dy%,4)),100)
graf_x% =add(graf_x%,2)
graf_y% =sub(graf_y%,2)
graf_dx% =sub(add(graf_x%,graf_dx%),4)
graf_dy% =add(graf_y%,graf_dy%)
Usepen 0,graf_mode%,graf_hcolor%
Usebrush 1,graf_hcolor%
Rectangle graf_x%,add(graf_y%,4)-graf_dx%,sub(graf_dy%,vorl_x%)
Usepen 0,graf_mode%,graf_color%
Usebrush 1,graf_color%
Rectangle graf_x%,sub(graf_dy%,vorl_x%)-graf_dx%,graf_dy%
case gt(sub(graf_dx%,sub(graf_x%,4)),16):Drawtext add(graf_textx%,12),graf_texty%,add$(Str$(graf_prozent%),%)
ENDPROC
Aufruf Parameter:
------------------------------------------------------------------------
hintergrund rgb(R,G,B),rgb(R,G,B),0,X%,Y%,DX%,DY%
Parameter 1= Die Hintergrundfarbe im Rahmen RGB(R,G,B)
Parameter 2= Die gewünschte Rahmenfarbe. RGB(R,G,B)
Parameter 3= immer 0
Parameter 4= Die X-Koordinate des Rahmens links
Parameter 5= Die Y-Koordinate des Rahmens links
Parameter 6= In DX% die Breite des Rahmens
Parameter 7= In DY% die Höhe des Rahmens
------------------------------------------------------------------------
anzeige rgb(R,G,B),rgb(R,G,B),e%,X%,Y%,DX%,DY%,Modus%
Parameter 1= Die Hintergrundfarbe des Fortschritts.RGB(R,G,B)
Parameter 2= Die gewünschte Balken-/Rahmenfarbe. RGB(R,G,B)
Parameter 3= der Fortschritt in %. 0-100
Parameter 4= Die X-Koordinate des Fortschritts bzw, Rahmens links
Parameter 5= Die Y-Koordinate des Fortschritts bzw. Rahmens links
Parameter 6= In DX% die Breite des Fortschritts bzw. Rahmens
Parameter 7= In DY% die Höhe des Fortschritts.
declare e%,Ende%,Los%,end%
Window 50,50-540,400
Windowtitle ....
settruecolor 1
let los%=createbutton(%Hwnd,&start,20,270,80,20)
let End%=createbutton(%Hwnd,&ende,120,270,80,20)
hintergrund rgb(0,0,140),rgb(0,0,0),e%,10,10,400,230
Let Ende%=0
Whilenot Ende%
Waitinput
If getfocus(Los%)
hintergrund rgb(0,0,140),rgb(0,0,0),e%,10,10,400,230
e%=0
Whilenot equ(e%,100) von 0-100 % übergeben
inc e%
anzeige rgb(add(e%,100),0,0),rgb(192,192,192),e%,20,20,18,210,1
anzeige rgb(add(e%,100),0,0),rgb(192,192,192),div(e%,2),50,20,18,210,1
wend
elseif getfocus(End%)
ende%=1
Endif
WEND