| |
|
|
| KompilierenMarcaSeparaciónSource wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Messagebox mit Icon aus einer beliebigen DLL
Lauffähig ab Profan-Version 5.0
PRFellow-Vorlage
Autor: Thomas Hölzer
Eine API-Message mit benutzerdefiniertem Icon
Hier :Icon mit Index 5 aus Shell32.dll
Parameter:
1. Text der Messagebox
2. Titelzeile
3. Name der DLL, die das Icon enthält(ggf. mit Pfad)
4. Nullbasierter Index des Icons in der DLL
Achtung: Aufgrund der internen Arbeitsweise von MessageBoxIndirect
muß sich das Icon (leider) in einer 32 Bit-DLL befinden!
Def MessageBoxIndirect(1) !USER32,MessageBoxIndirectA
Def FreeLibrary(1) !KERNEL32,FreeLibrary
Declare mbox#,mbtxt#,mbcaption#
Proc ExtMessageBox
Parameters txt$,caption$,icofile$,index%
Declare hdll&
Let hdll&=UseDLL(icofile$)
Dim mbox#,40
Dim mbtxt#,Add(Len(txt$),1)
Dim mbcaption#,Add(Len(caption$),1)
String mbtxt#,0=txt$
String mbcaption#,0=caption$
Long mbox#,0=40
Long mbox#,4=GetActiveWindow()
Long mbox#,8=hdll&
Long mbox#,12=mbtxt#
Long mbox#,16=mbcaption#
Long mbox#,20=$040080
Long mbox#,24=index%
Long mbox#,28=0
Long mbox#,32=0
Long mbox#,36=0
MessageBoxIndirect(mbox#)
Dispose mbox#
Dispose mbcaption#
Dispose mbtxt#
Case Gt(hdll&,32):FreeLibrary(hdll&) FreeDll hdll& ab 6.5
EndProc
Beispiel
Cls
Declare t$
Let t$=
Autor: Thomas Hölzer
Demo einer Messagebox,
in der ein benutzerdef. Icon aus ext. Modul angezeigt werden kann.
Ideal für eine
einfache About-Box o.ä.
Weitere Stilflags usw. finden sich unter
MSGBOXPARAMS in win32.hlp.
ExtMessagebox t$, PRFellow-Vorlage - ExtMessageBox,SHELL32.DLL,5
|
|
|
| |
|
|