| |
|
|
Jörg Sellmeyer | Hier es una Code, con el uno el número el Icongrößen en uno ico-Expediente ermitteln kann. Außerdem voluntad el Formate ausgegeben y el jeweiligen Icons extrahiert y en una Button ausgegeben. Ein dazugehöriges Icon:
Descargar
$H windows.ph
Proc IconGetFormat
Parámetros Icon$
Var Datei& = Asignar(Icon$)
Case FileSize(Icon$) < 10:Volver 0
OpenRW Datei&
Seek Datei&,2
Var Typ% = GetByte(Datei&)
Cerrar Datei&
Volver Typ%
ENDPROC
Proc IconFormatCount
Parámetros Icon$
Case FileSize(Icon$) < 10:Volver 0
Var Datei& = Asignar(Icon$)
OpenRW Datei&
Seek Datei&,4
Var Anzahl% = GetByte(Datei&)
Cerrar Datei&
Volver Anzahl%
ENDPROC
Proc IconGetSize
Parámetros Icon$,Index%
Var Datei& = Asignar(Icon$)
OpenRW Datei&
Seek Datei&,6 + Index% * 16
Var Size%[] = GetByte(Datei&),GetByte(Datei&)
If Size%[0] = 0
Claro Size%[]
Seek Datei&,FilePos(Datei&)+1
Size%[0] = GetWord(Datei&)
Size%[1] = Size%[0]
EndIf
Cerrar Datei&
Volver Size%[]
ENDPROC
Ventana 500,800
Declarar Icon&,Icons&[],Anzahl%,size%,y%,size%[]
Var Ico$ ="PRF-File.ico"
Imprimir Ico$
Imprimir "Typ = ";IconGetFormat(ico$),"(1 = Icon, 2 = Cursor, 0 = Unbekannt)"
Imprimir "Anzahl = ";IconFormatCount(ico$)
WhileLoop 0,IconFormatCount(ico$)-1
size%[] = IconGetSize(ico$,&Loop)
Icons&[&Loop] = size%[0]
Imprimir "Icon",&Loop+1, "=", size%[0] ,"x", size%[1]
Wend
size% = 16
y% = 40
WhileLoop 0,SizeOf(Icons&[])-1
Size% = Icons&[&Loop]
Icon& = ~LoadImage(0,ico$,~IMAGE_ICON,size%,size%,~LR_LOADFROMFILE)
Inc Anzahl%
Icons&[&Loop] = Icon&
Crear("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&[&Loop]
Wend
End
ICONDIRENTRY
|
|
|
| |
|
|