| |
|
|
Jörg Sellmeyer | Repariert und modernisiert:
'Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
'Grafik: 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
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 (hparent& = 0): hparent&=GetActiveWindow()
hresult&=Create("Text",hparent&,"",x%,y%,0,0)
SetWindowLong(hresult&,-16,(GetWindowLong(hresult&,-16) | 3))
Dim ifile#,(Len(file$) + 1)
String ifile#,0=file$
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&
hi&=CreateExtIcon(%hwnd,"SHELL32.DLL",10,10,32)
While 1
WaitInput
SetWindowPos hi&=%mouseX,%mouseY-32,32
Wend
|
|
|
| |
|
|