| |
|
|
Jörg Sellmeyer | ici est un Code, avec dem on le nombre qui Icongrößen dans einer ico-Dossier ermitteln peux. Aussi volonté qui Formate ausgegeben et qui jeweiligen Icônes extrahiert et sur einem Button ausgegeben. un dazugehöriges Icon:
Herunterladen
$H windows.ph
Proc IconGetFormat
Paramètres Icon$
Var Datei& = Assign(Icon$)
Cas FileSize(Icon$) < 10:Retour 0
OpenRW Datei&
Seek Datei&,2
Var Typ% = GetByte(Datei&)
Fermer Datei&
Retour Typ%
ENDPROC
Proc IconFormatCount
Paramètres Icon$
Cas FileSize(Icon$) < 10:Retour 0
Var Datei& = Assign(Icon$)
OpenRW Datei&
Seek Datei&,4
Var Anzahl% = GetByte(Datei&)
Fermer Datei&
Retour Anzahl%
ENDPROC
Proc IconGetSize
Paramètres Icon$,index%
Var Datei& = Assign(Icon$)
OpenRW Datei&
Seek Datei&,6 + index% * 16
Var Size%[] = GetByte(Datei&),GetByte(Datei&)
Si Size%[0] = 0
Claire Size%[]
Seek Datei&,FilePos(Datei&)+1
Size%[0] = GetWord(Datei&)
Size%[1] = Size%[0]
EndIf
Fermer Datei&
Retour Size%[]
ENDPROC
Fenêtre 500,800
Déclarer Icon&,Icons&[],Anzahl%,size%,y%,size%[]
Var Ico$ ="PRF-File.ico"
Imprimer Ico$
Imprimer "Typ = ";IconGetFormat(ico$),"(1 = Icon, 2 = Cursor, 0 = inconnu)"
Imprimer "Anzahl = ";IconFormatCount(ico$)
WhileLoop 0,IconFormatCount(ico$)-1
size%[] = IconGetSize(ico$,&Boucle)
Icons&[&Boucle] = size%[0]
Imprimer "Icon",&Boucle+1, "=", size%[0] ,"x", size%[1]
Wend
size% = 16
y% = 40
WhileLoop 0,SizeOf(Icons&[])-1
Size% = Icons&[&Boucle]
Icon& = ~LoadImage(0,ico$,~IMAGE_ICON,size%,size%,~LR_LOADFROMFILE)
Inc Anzahl%
Icons&[&Boucle] = Icon&
Créer("IconButton",%hwnd,Icon&,160,y%,Size% + 10,Size% + 10)
Inc y%, size% + 20
Inc size%,2
Wend
Waitinput
WhileLoop 0,SizeOf(Icons&[])-1
DeleteObject Icons&[&Boucle]
Wend
Fin
ICONDIRENTRY
|
|
|
| |
|
|