| Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Hauptfenster: prozentuale Größenanpassung von Controls und Texten
Beispielanwendung für die UpdateWindow.inc Siehe Hilfe.txt
$I UpdateWindow.inc
Declare bye&,ende%,button&,text&,edit&,listbox1&,listbox2&,dll&,big&
------------------Dll laden------------------
let dll&=usedll(Shell32.dll)
case lt(dll&,32):messagebox(Dll nicht geladen,Dateifehler,16)
---------------------------------------------
Procedure aus der inc es wird ein Fenster erstellt in Prozent zum Bildschirm
windowCreate Prozent-Window,63,800,600
originalsize sehr wichtig nach jedem Window oder Dialogcreate
--------------------------------------------------------------------------
eigenes Create, falls sowas mal gebraucht wird erst ab Profan 7.0
Controlcreate Button,&Ende,10,520,100,25
let bye&=@&(0)
--------------------------------------------------------------------------
Hier das normale create, erst alles null, dann mit resize die Größe setzen
Diese Form ist empfohlen, da sie auch eine Zeiteinsparung ergibt für die resize
bye&= CREATEBUTTON(%HWND,&Ende,0,0,0,0)
resize bye&,10,520,100,25,1234
BUTTON& = CREATEBUTTON(%HWND,&irgendwas,0,0,0,0)
resize button&,120,520,100,25,1234
Big& = CREATEBUTTON(%HWND,Big,0,0,0,0)
resize big&,280,520,30,30,1234
TEXT& = CREATETEXT(%HWND,TEXT,0,0,0,0)
resize text&,10,20,50,20,1234
EDIT& = CREATEEDIT(%HWND,EDIT,0,0,0,0)
resize edit&,10,60,110,22,1234
LISTBOX1& = CREATELISTBOX(%HWND,LISTBOX,0,0,0,0)
resize listbox1&,10,100,200,400,1234
LISTBOX2& = CREATELISTBOX(%HWND,LISTBOX,0,0,0,0)
resize listbox2&,220,100,200,400,1234
--------------------------------------------------------------------------
Bitmaps usw laden, ebenso empfohlen gleich mit Proc's zu erstellen um
Zeit zu sparen
oLoadSizedBmp 003.bmp,500,100,250,187,0,1234
oLoadbmp 003.bmp,500,300,0,12
oDrawIcon A,60,10,12
oDrawExtBmp dll&,130,310,10,0,12
oDrawSizedExtBmpNr dll&,130,310,10,413,71,0,1234
ocliploadbmp 500,100,0,12
oDrawSysIcon 1,100,10,12
oDrawLibIcon Shell32.dll,100,145,10,12
oDrawExtIconNr dll&,140,185,10,22
oDrawText 255,0,0,-1,ARIAL,25,0,0,0,0,440,520,Dies ist eine flexible Schrift,12
let ende%=0
WHILENOT ENDE%
WAITINPUT
If @EQU(%KEY,2)
LET ENDE%= 1
ELSEIF @EQU(%KEY,4) Abfrage auf Größenveränderung
resize bye&,10,520,100,25,2
resize button&,120,520,100,25,2
resize text&,10,20,50,20,2
resize edit&,10,60,110,22,2
resize listbox1&,10,100,200,400,234
resize listbox2&,220,100,200,400,1234
resize big&,280,520,30,30,234
CLS GETSYSCOLOR(15) wichtig Bildschirm muss gelöscht werden, bevor die Objecte neu gesetzt werden
oLoadbmp 003.bmp,500,300,0,12
oLoadSizedBmp 003.bmp,500,100,250,187,0,1234
oDrawExtBmp dll&,130,310,10,0,12
oDrawSizedExtBmp dll&,130,310,10,413,71,0,1234
ocliploadbmp 500,100,0,12
oDrawIcon A,60,10,2
oDrawSysIcon 1,100,10,2
oDrawLibIcon Shell32.dll,100,145,10,2
oDrawExtIcon dll&,140,185,10,2
oDrawText 255,0,0,-1,ARIAL,25,0,0,0,0,440,520,Dies ist eine flexible Schrift,12
ELSEIF GETFOCUS(EDIT&)
ELSEIF GETFOCUS(LISTBOX1&)
ELSEIF GETFOCUS(LISTBOX2&)
ELSEIF GETFOCUS(BUTTON&)
LET ENDE%= 1
ELSEIF GETFOCUS(bye&) ende
LET ENDE%= 1
ENDIF
WEND
freedll dll&
end
|
|