Icon in ButtonTextGadget
Nice code.
Note that :
- the BCM_SETIMAGELIST message only works for Windows XP+.
- if you get linker errors with ImageList_AddIcon_(himagelist, ImageID), you can replace it with ImageList_ReplaceIcon_(himagelist, -1, ImageID).
Note that :
- the BCM_SETIMAGELIST message only works for Windows XP+.
- if you get linker errors with ImageList_AddIcon_(himagelist, ImageID), you can replace it with ImageList_ReplaceIcon_(himagelist, -1, ImageID).
For free libraries and tools, visit my web site (also home of jaPBe V3 and PureFORM).
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
I think he means "XP and higher"
ich glaub er meint "ab XP"
the point is, ; der punkt ist
- fetching system font ; systemfont abfragen
- drawing an image with the icon and some text ; ein image mit dem icon und etwas text erzeugen
- setting up a ButtonImageGadget ; ein ButtonImageGadget erzeugen
will just work fine and not take too much ressources.
wird einfach gut funktionieren und braucht nicht zu viele ressourcen.
ich glaub er meint "ab XP"
the point is, ; der punkt ist
- fetching system font ; systemfont abfragen
- drawing an image with the icon and some text ; ein image mit dem icon und etwas text erzeugen
- setting up a ButtonImageGadget ; ein ButtonImageGadget erzeugen
will just work fine and not take too much ressources.
wird einfach gut funktionieren und braucht nicht zu viele ressourcen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Sorry, da steig ich nicht durchgnozal hat geschrieben:Nice code.
Note that :
- the BCM_SETIMAGELIST message only works for Windows XP+.
- if you get linker errors with ImageList_AddIcon_(himagelist, ImageID), you can replace it with ImageList_ReplaceIcon_(himagelist, -1, ImageID).

Kann mir jemand nen Beispiel-Code machen?
Muss ich das jetzt auch auf Englisch schreiben?

v6.00
- hjbremer
- Beiträge: 822
- Registriert: 27.02.2006 22:30
- Computerausstattung: von gestern
- Wohnort: Neumünster
Probiere es einmal damit:
hicon = LoadIcon_(0,#IDI_ASTERISK )
;oder eigenes Bild
;hicon=ImageID(CatchImage(#PB_Any, ?LogoTuer))
CreateImage(1, 100, 40)
StartDrawing(ImageOutput(1))
Box(0,0,100,40,#Red)
DrawImage(hicon,3,3)
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(50,10,"Ende",#Blue)
StopDrawing ()
hwnd = OpenWindow(0,0,0,640,480,"leer")
CreateGadgetList(hwnd)
ButtonImageGadget(0,0,0,100,40,ImageID(1))
Repeat : Until WaitWindowEvent() = 16
End
;für eigenes Bild, ev. mit Pfadangaben
;LogoTuer: IncludeBinary "icotuer.bmp"
viele Grüße
PB Vers.4.02
hicon = LoadIcon_(0,#IDI_ASTERISK )
;oder eigenes Bild
;hicon=ImageID(CatchImage(#PB_Any, ?LogoTuer))
CreateImage(1, 100, 40)
StartDrawing(ImageOutput(1))
Box(0,0,100,40,#Red)
DrawImage(hicon,3,3)
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(50,10,"Ende",#Blue)
StopDrawing ()
hwnd = OpenWindow(0,0,0,640,480,"leer")
CreateGadgetList(hwnd)
ButtonImageGadget(0,0,0,100,40,ImageID(1))
Repeat : Until WaitWindowEvent() = 16
End
;für eigenes Bild, ev. mit Pfadangaben
;LogoTuer: IncludeBinary "icotuer.bmp"
viele Grüße
PB Vers.4.02
Purebasic 5.70 x86 5.72 X 64 - Windows 10
Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
Hier mal eine Procedure aus einem Program von mir,kann man noch anpassen.
Das hier kommt in die Gadgetlist

Code: Alles auswählen
;-IconButton Procedure
Procedure CreateIconButton(win_hwnd,x,y,xicon,yicon,widt,heig,ico,BText$,iconadr)
img=CreateImage(#PB_Any,widt,heig)
BIcon=CatchImage(#PB_Any,iconadr)
StartDrawing(ImageOutput(img))
Box(0,0,widt,heig,GetSysColor_(#COLOR_BTNFACE))
DrawingMode(#PB_2DDrawing_Transparent)
DrawImage(ImageID(BIcon),xicon,yicon)
DrawText(xicon+20,heig/2-8,BText$)
StopDrawing()
UseGadgetList(WindowID(win_hwnd))
Buttonerg=ButtonImageGadget(#PB_Any,x,y,widt,heig,ImageID(img))
ProcedureReturn Buttonerg
EndProcedure
;-End ButtonIcon
Code: Alles auswählen
iconbutt1=CreateIconButton(#Window_0,10,340,5,8,100,30,0,"Speichern",?iconsav)
;voraus gesetzt es wurde ein bild eingebund
Purebasic 5.0 32bit und 64 bit
I'm back from hell
I'm back from hell
Naja das sind doch alles nur billige fakes. Wenn du es richtig machen willst benutzt du Ownerdraw.
Falls du Englisch kannst lese dir mal den Post von mir im Englischen Board durch.
http://www.purebasic.fr/english/viewtop ... aw&start=0
(Vielleicht schreib ich es dir auch kurz wenn ich dazukomme)
Falls du Englisch kannst lese dir mal den Post von mir im Englischen Board durch.
http://www.purebasic.fr/english/viewtop ... aw&start=0
(Vielleicht schreib ich es dir auch kurz wenn ich dazukomme)