CanvasGadget + SetGadgetAttribute mit #PB_Canvas_Image
Verfasst: 12.02.2012 17:29
Hier mal eine kleine Spielerei mit dem Canvasgadget
In der Hilfe heißt es unter SetGadgetAttribute
Ein Ico funktioniert nicht.
Zu sehen wenn man im Code bei dem 1. SetGadgetAttribute direkt hinter CanvasGadget, statt imgnr2 die imgnr1 nimmt
Muß das so sein, ist das ein Bugilein oder ist die Hilfe ungenau ?
In der Hilfe heißt es unter SetGadgetAttribute
Nur leider steht nirgends das das Image ein BMP sein muß, oder mit CreateImage erstellt worden sein muß.#PB_Canvas_Image
Weist dem CanvasGadget die angegebene ImageID zu ...
Ein Ico funktioniert nicht.
Zu sehen wenn man im Code bei dem 1. SetGadgetAttribute direkt hinter CanvasGadget, statt imgnr2 die imgnr1 nimmt
Muß das so sein, ist das ein Bugilein oder ist die Hilfe ungenau ?
Code: Alles auswählen
fontnr = LoadFont(#PB_Any, "", 8)
imgnr1 = LoadImage(#PB_Any, #PB_Compiler_Home + "Examples\Sources\Data\cdplayer.ico")
imgnr2 = LoadImage(#PB_Any, #PB_Compiler_Home + "Examples\Sources\Data\purebasic.bmp")
breite = ImageWidth(imgnr2)
hoehe = ImageHeight(imgnr2)
imgnr3 = CreateImage(#PB_Any, breite, hoehe)
StartDrawing(ImageOutput(imgnr3))
DrawingMode(#PB_2DDrawing_Gradient)
BackColor (#Yellow)
FrontColor($9BC2FF)
;LinearGradient(0, 0, 20, 20)
LinearGradient(0, 0, 140, 20)
Box(0, 0, breite, hoehe)
DrawImage(ImageID(imgnr1), 3, 2)
DrawingMode(#PB_2DDrawing_Transparent )
DrawingFont(FontID(fontnr))
FrontColor(#Black)
DrawText(34, 4,"Rechtsclick für")
DrawText(40, 19,"Einstellungen")
StopDrawing()
FreeFont(fontnr)
OpenWindow(0, 0, 0, 220, 220, "CanvasGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CanvasGadget(0, 10, 10, breite, hoehe)
SetGadgetAttribute(0, #PB_Canvas_Image, ImageID(imgnr2))
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Gadget And EventGadget() = 0
If EventType() = #PB_EventType_MouseEnter
SetGadgetAttribute(0, #PB_Canvas_Image, ImageID(imgnr3))
ElseIf EventType() = #PB_EventType_MouseLeave
SetGadgetAttribute(0, #PB_Canvas_Image, ImageID(imgnr2))
ElseIf EventType() = #PB_EventType_RightClick
CreatePopupMenu(0)
MenuItem(1, "Farben")
MenuItem(2, "Fonts")
MenuItem(3, "etc")
DisplayPopupMenu(0, WindowID(0))
EndIf
EndIf
Until Event = #PB_Event_CloseWindow