Hat zwar was gedauert, aber mit dem Ergebnis bin ich halbwegs zufrieden.
Code: Alles auswählen
OpenWindow(0,0,0,250,320,"get, resize, display PB-Icon",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))
TextGadget(99,10,0,250,20,"wirklich vorhanden sind 16x16,32x32 und 48x48")
StartDrawing(WindowOutput(0))
win_bg = Point(1,1)
StopDrawing()
;#########################################################################################
PB_icon_img_id = ExtractIcon_(0,#PB_Compiler_Home+"PureBasic.exe",0)
ImageGadget(1, 10, 40, 16, 16, PB_icon_img_id)
ImageGadget(2, 50, 40, 32, 32, PB_icon_img_id)
ImageGadget(3, 90, 40, 48, 48, PB_icon_img_id)
ImageGadget(4,150, 40, 64, 64, PB_icon_img_id)
;#########################################################################################
;#########################################################################################
PB_icon_img2_id = ExtractIcon_(2,#PB_Compiler_Home+"PureBasic.exe",0)
CreateImage(1,32,32)
CreateImage(2,16,16)
CreateImage(3,48,48)
CreateImage(4,64,64)
DC=StartDrawing(ImageOutput(1))
DrawIcon_(DC,0,0,PB_icon_img2_id)
FillArea(1, 1, -1, win_bg)
StopDrawing()
CopyImage(1,2)
CopyImage(1,3)
CopyImage(1,4)
ResizeImage(2,16,16,#PB_Image_Smooth)
ResizeImage(3,48,48,#PB_Image_Smooth)
ResizeImage(4,64,64,#PB_Image_Smooth)
ImageGadget(5, 50,100, 32, 32, ImageID(1))
ImageGadget(6, 10,100, 16, 16, ImageID(2))
ImageGadget(7, 90,100, 48, 48, ImageID(3))
ImageGadget(8,150,100, 64, 44, ImageID(4))
;#########################################################################################
;#########################################################################################
Ergebnis = OpenLibrary(0, #PB_Compiler_Home+"PureBasic.exe")
ImageGadget( 9, 10,170, 16, 16, LoadImage_(Ergebnis,1, #IMAGE_ICON, 16, 16, LR_LOADTRANSPARENT))
ImageGadget(10, 50,170, 32, 32, LoadImage_(Ergebnis,1, #IMAGE_ICON, 32, 32, LR_LOADTRANSPARENT))
ImageGadget(11, 90,170, 48, 48, LoadImage_(Ergebnis,1, #IMAGE_ICON, 48, 48, LR_LOADTRANSPARENT))
ImageGadget(12,150,170, 64, 64, LoadImage_(Ergebnis,1, #IMAGE_ICON, 64, 64, LR_LOADTRANSPARENT))
;#########################################################################################
Repeat
Until WindowEvent()=#PB_Event_CloseWindow
End