Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Elternfenster und Kindfenster
Dieses Demo ist lauffähig ab XProfan 10 und ist
eine Anregung von Horst Horn zur Weiterentwicklung
der Programmoberfläche des XProfan-Managers
http://www.web-treffpunkt.de
Wir danken Horst Horn für die Anregung und seinen Code!
Dietmar Horn
DEF ExtractIcon(3) !SHELL32,ExtractIconA
DEF LoadImage(6) ! USER32,LoadImageA
DEF &BM_SETIMAGE $0F7
DEF &IMAGE_ICON $01
DECLARE main_M%,steig%,spalte%,zeile%,tip%
main_M%=34 Hauptmass - danach richtet sich alles
steig%=main_M%
DECLARE EE%
EE%=0
DECLARE meine_DLL$,icon_DLL$,pfad$
pfad$=GETDIR$(@)+\ICONS
pfad$=$ProgDir
meine_DLL$=pfad$+\meine_XP.DLL
icon_DLL$=USEDLL($SysPath+\SHELL32.DLL)
DECLARE titel$[10] usw...
titel$[1]=Projekte:titel$[2]=XProfan:titel$[3]=Helfer:titel$[4]=Tools:titel$[5]=Internet
titel$[6]=Extern:titel$[7]=Windows-System:titel$[8]=Setup:titel$[9]=Info:titel$[10]=Hilfe
DECLARE win01&,win02& usw....
DECLARE b01%[20],b02%[20] uws...
PROC CreateIconButton
Parameters Exe$,Index&,Window&,X&,Y&,W&,H&,ID&
Declare Button&,Icon&
Button& = Control(Button,,$56000040,X&,Y&,W&,H&,Window&,ID&,%Hinstance)
Icon& = ExtractIcon(%Hinstance,Addr(Exe$),Index&)
Sendmessage(Button&,&BM_SETIMAGE,&IMAGE_ICON,Icon&)
Return Button&
ENDPROC
PROC POP_MENU
PopUp &+titel$[1]
PopUp &+titel$[2]
PopUp &+titel$[3]
PopUp &+titel$[4]
PopUp &+titel$[5]
PopUp &+titel$[6]
PopUp &+titel$[7]
PopUp &+titel$[8]
PopUp &+titel$[9]
PopUp &+titel$[10]
ENDPROC
PROC FENSTER_01
zeile%=0:spalte%=0
win01&=CREATE(CHILDWINDOW,%HWnd,titel$[1],0,0,((steig%*24)-8),(steig%*3))
CreateIconButton meine_DLL$,51,win01&,spalte%,zeile%,main_M%,main_M%,1001
b01%[1] = &(0)
tip%=CREATE(TOOLTIP,win01&,b01%[1], Einstellung für das aktuelle Projekt )
Add spalte%,steig%
CreateIconButton icon_dll$,21,win01&,spalte%,zeile%,main_M%,main_M%,1002
b01%[2] = &(0)
tip%=CREATE(TOOLTIP,win01&,b01%[2], XProfan-Editor starten...)
Add spalte%,steig%
CreateIconButton icon_dll$,137,win01&,spalte%,zeile%,main_M%,main_M%,1003
b01%[3] = &(0)
tip%=CREATE(TOOLTIP,win01&,b01%[3], Projektdatei ausführen (Interpretermodus) )
Add spalte%,steig%
CreateIconButton icon_dll$,55,win01&,spalte%,zeile%,main_M%,main_M%,1004
b01%[4] = &(0)
tip%=CREATE(TOOLTIP,win01&,b01%[4], Mini-Debugger )
Add spalte%,steig%
CreateIconButton icon_dll$,65,win01&,spalte%,zeile%,main_M%,main_M%,1005
b01%[5] = &(0)
tip%=CREATE(TOOLTIP,win01&,b01%[5], Projektdatei kopieren )
Add spalte%,steig%
CreateIconButton icon_dll$,48,win01&,spalte%,zeile%,main_M%,main_M%,1006
b01%[6] = &(0)
tip%=CREATE(TOOLTIP,win01&,b01%[6], Installationssetup erstellen)
ENDPROC
PROC FENSTER_02
zeile%=0:spalte%=0
win02&=CREATE(CHILDWINDOW,%HWnd,titel$[2],0,(steig%*3),((steig%*24)-8),(steig%*3))
CreateIconButton meine_dll$,22,win02&,spalte%,zeile%,main_M%,main_M%,2001
b02%[1] = &(0)
tip%=CREATE(TOOLTIP,win02&,b02%[1], Lustige Sachen )
ENDPROC
##############################################################################
WINDOW (%MaxX/2-(steig%*12)),(%MaxY/2-(steig%*9))-(steig%*24),(steig%*18)
WindowTitle XProfan-Manager - Startbild-Vorschlag von Horst Horn - http://www.web-treffpunkt.de -
POP_MENU
FENSTER_01
FENSTER_02
WHILENOT EE%
WAITINPUT
Case ISKEY(27):EE%=1
ENDWHILE