Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Fensterinhalt neuzeichnen (2)
------ USER.INC (C) Rolf Koch (ROC) http://www.rokosoft.de -----------------------------------------------------------
DEF @CreateWindowEx(12) ! USER32,CreateWindowExA
DEF @GETTRACKPOS(1) SENDMESSAGE(&(1),$0400,0,0)
def @DRAWEDGE(4) !USER32,DrawEdge
Declare RMN#,FARBE#
PROC CREATEOBJECT
PARAMETERS HANDEL&,O$,TEXT$,1%,2%,3%,4%,Stil$,ext$
DECLARE NAME#,TEXT#,RETHANDEL&
Dim NAME#,len(O$)+1
Dim TEXT#,len(Text$)+1
String NAME#,0 =O$
String TEXT#,0 = Text$
LET RETHANDEL& = @CREATEWINDOWEX(int(val(ext$)),NAME#,TEXT#,int(val(STIL$)),1%,2%,3%,4%,HANDEL&,2000,%Hinstance,0)
DISPOSE NAME#
DISPOSE TEXT#
RETURN RETHANDEL&
ENDPROC
PROC SETPROZESSPOS
PARAMETERS HANDEL&,POS%
SendMessage(HANDEL&,$0402,POS%,0)
ENDPROC
PROC SETTRACKPOS
PARAMETERS HANDEL&,POS%
SendMessage(HANDEL&,$0405,1,POS%)
ENDPROC
PROC SETTRACKRANGE
PARAMETERS HANDEL&,POS%,POS2%
SendMessage(HANDEL&,$0406,1,OR(POS%,Mul(POS2%,65536)))
ENDPROC
PROC DRAWFRAME abgeändert aus Vorlage von Uwe Pascal Niemeier
PARAMETERS X%,Y%,X2%,Y2%,1%,2%
dim RMN#,16
LONG RMN#,0=X%
LONG RMN#,4=Y%
LONG RMN#,8=@ADD(X%,X2%)
LONG RMN#,12=@ADD(Y%,Y2%)
@DRAWEDGE(%HDC,RMN#,1%,2%)
@DRAWEDGE(%HDC2,RMN#,1%,2%)
DISPOSE RMN#
ENDPROC
Danke an iF (David Strutz)
Beispiel Aufruf:
CreateIPEdit %hwnd,192.168.0.1,10,10,120,20
Proc Ip2ip
Parameters L1&,L2&,L3&,L4&
Return (L1&*16777216)+(L2&*65536)+(L3&*256)+L4&
Endproc
PROC CreateIPEdit
declare handle&,r_1&,r_2&,r_3&,R_4&
Parameters hwnd&,ip_string$,rkx&,rky&,rkb&,rkh&
r_1&=val(SUBSTR$(ip_string$,1,.))
r_2&=val(SUBSTR$(ip_string$,2,.))
r_3&=val(SUBSTR$(ip_string$,3,.))
r_4&=val(SUBSTR$(ip_string$,4,.))
handle&=Control(SysIPAddress32,0.0.0.0,$50010000,rkx&,rky&,rkb&,rkh&,hwnd&,2000,%Hinstance,$204)
Sendmessage(handle&,1125,0,Ip2ip(r_1&,r_2&,r_3&,r_4&))
return handle&
ENDPROC
-----------------------------------------------------------------
##################################################################
$P+
SET(ERRORLEVEL,0)
********************** HINWEISE ********************************
CODE ERZEUGT MIT ROKOS OBJECT CREATOR 4.5b
DATUM 24.03.2007 um 22:28 Uhr
VERWENDETE PROFANVERSION IST 10.0-NT XPROFAN
CODE ERSTELLT UNTER WINDOWS Unbekannt
!!! Dieser Code wird von Roc immer neu erzeugt !!!
!!! Erst bearbeiten, wenn alle Objekte erzeugt wurden !!!
!!! Verändern Sie ggf. feste Pfade in variable Pfade !!!
DEF GETSYSCOLOR(1) !USER32,GetSysColor
DECLARE BUTTON1&
DECLARE BUTTON2&
DECLARE TEXT1&,Text1.2&
DECLARE BUTTON3&,Button3.2&
DECLARE PROGRESSBAR1&
DECLARE MULTIEDIT1&
DECLARE BUTTON4&
WINDOWSTYLE 63
WINDOWTITLE Spielerei :)
WINDOW 22,20-640,500
SET(TRUECOLOR,1)
DECLARE ENDE%
CLS GETSYSCOLOR(15)
USEFONT MS Sans Serif,13,0,0,0,0
SETDIALOGFONT 1
Proc Fenster1
CLS GETSYSCOLOR(15)
DRAWFRAME 0027,0067,0581,0253,9,16399
Seite 1 einblenden:
Showwindow(Text1&,1)
Showwindow(Button3&,1)
Showwindow(Progressbar1&,1)
Showwindow(Multiedit1&,1)
Seite 2 ausblenden:
Showwindow(Text1.2&,0)
Showwindow(Button3.2&,0)
Endproc
Proc Fenster2
CLS GETSYSCOLOR(15)
DRAWFRAME 0027,0067,0581,0103,9,16399
Seite 1 ausblenden:
Showwindow(Text1&,0)
Showwindow(Button3&,0)
Showwindow(Progressbar1&,0)
Showwindow(Multiedit1&,0)
Seite 2 einblenden:
Showwindow(Text1.2&,1)
Showwindow(Button3.2&,1)
Endproc
Hier kann ggf. Ihr Menü hin
BUTTON1& = CREATE(BUTTON,%HWND,Seite1,0017,0017,0070,0030)
BUTTON2& = CREATE(BUTTON,%HWND,Seite2,0097,0017,0070,0030)
TEXT1& = CREATE(TEXT,%HWND,Sie befinden Sich auf Seite 1,0037,0077,0152,0020)
BUTTON3& = CREATE(BUTTON,%HWND,Seite 1 Button,0037,0107,0150,0030)
CREATEOBJECT %HWND,msctls_progress32,PROGRESSBAR,0037,0147,0550,0020,$54000000,$020000
PROGRESSBAR1&=@&(0)
SETPROZESSPOS PROGRESSBAR1&,50 Position 0 - 100
MULTIEDIT1& = CREATE(MULTIEDIT,%HWND,MULTIEDIT,0047,0187,0538,0100)
BUTTON4& = CREATE(BUTTON,%HWND,Ende,0537,0017,0070,0030)
TEXT1.2& = CREATE(TEXT,%HWND,Sie befinden Sich auf Seite 2,0037,0077,0152,0020)
BUTTON3.2& = CREATE(BUTTON,%HWND,Seite 2 Button,0037,0107,0150,0030)
Zuerst zum Start Proc Fenster1 aufrufen:
Fenster1
SETFOCUS(%HWND)
WHILENOT ENDE%
WAITINPUT
If %KEY=2
ENDE%= 1
ELSEIF %KEY=4
ELSEIF GETFOCUS(BUTTON1&) BUTTON
Fenster1
ELSEIF GETFOCUS(BUTTON2&) BUTTON
Fenster2
ELSEIF GETFOCUS(BUTTON4&) BUTTON
Ende%=on class=s2>1
ENDIF
ENDWHILE