| |
|
|
| KompilierenMarqueSéparationSource wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Icon: CreateIcon für Icon aus externer Datei
PRFellow-Vorlage
Autor: Thomas Hölzer - Alle Rechte vorbehalten
Umsetzung des Profan-Befehls CreateIcon für Icon aus externem Modul
Ab Profan 5.0 - 32 Bit
Def ExtractIcon(3) !SHELL32,ExtractIconA
Def SetWindowLong(3) !USER32,SetWindowLongA
Def GetWindowLong(2) !USER32,GetWindowLongA
Declare ifile#
Proc CreateExtIcon
Parameters hparent&,file$,x%,y%,index%
Declare hresult&,hicon&
Case Equ(hparent&,0): Let hparent&=GetActiveWindow()
Let hresult&=CreateText(hparent&,,x%,y%,0,0)
SetWindowLong(hresult&,-16,Or(GetWindowLong(hresult&,-16),3))
Dim ifile#,Add(Len(file$),1)
String ifile#,0=file$
Let hicon&=ExtractIcon(%hinstance,ifile#,index%)
Dispose ifile#
SendMessage(hresult&,$0172,2,hicon&)
geht auch:
SendMessage(hresult&,$0170,hicon&,0)
Return hresult&
EndProc
Beispiel:
Cls
WindowTitle Das Icon wandert beim Klicken mit
Declare hi&
CreateExtIcon %hwnd,SHELL32.DLL ,10,10,32
Let hi&=&(0)
While 1
WaitInput
SetWindowPos hi&=%mouseX,%mouseY-32,32
Wend
|
|
|
| |
|
|