Seite 1 von 1
Flache ButtonImageGadget's
Verfasst: 21.07.2007 21:44
von RSBasic
Hallo,
ich habe eine Frage.
Ich möchte gerne, dass meine ButtonImageGadget's flach sind, aber da es bestimmt nur über WinAPI geht, brauche ich eure Hilfe.
Wie mache ich es, dass meine ButtonImageGadget's flach werden?
Danke für jede Antwort

Verfasst: 21.07.2007 21:47
von a14xerus
ich benutze dafür einfach normale imagegdagets, funktionieren auch, nur die größe des images muss stimmen, da sich die Gadgets ja anpassen.
Einfach das #PB_Event_LeftKlick (oder so) bei EventType() abfragen
Verfasst: 21.07.2007 22:27
von RSBasic
@a14xerus
Danke für deine Speed-Lösung
Jo hast Recht, so kann man es auch machen

Verfasst: 22.07.2007 07:38
von Andreas
Oder so :
Code: Alles auswählen
If OpenWindow(0, 0, 0, 120, 100, "ButtonImage", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
If LoadImage(0, #PB_Compiler_Home+"examples\sources\data\file.bmp") ; ändern Sie den 2. Parameter in den Pfad/Dateinamen Ihres Bildes
ButtonImageGadget(0, 10, 10, 100, 83, ImageID(0))
SetWindowLong_(GadgetID(0),#GWL_STYLE,GetWindowLong_(GadgetID(0),#GWL_STYLE)|#BS_FLAT)
EndIf
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Verfasst: 22.07.2007 09:14
von a14xerus
Funktioniert aber nicht mit aktivierten Xp-Skins
Verfasst: 22.07.2007 09:43
von Andreas
Wenn man das "Theme" für den Button abschaltet schon.
Code: Alles auswählen
If OpenWindow(0, 0, 0, 120, 100, "ButtonImage", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
If LoadImage(0, #PB_Compiler_Home+"examples\sources\data\file.bmp") ; ändern Sie den 2. Parameter in den Pfad/Dateinamen Ihres Bildes
ButtonImageGadget(0, 10, 10, 100, 83, ImageID(0))
SetWindowLong_(GadgetID(0),#GWL_STYLE,GetWindowLong_(GadgetID(0),#GWL_STYLE)|#BS_FLAT)
If OSVersion() = #PB_OS_Windows_XP
DLL = OpenLibrary(#PB_Any, "uxtheme.dll")
CallFunction(DLL, "SetWindowTheme", GadgetID(0), @Null.w, @Null.w)
CloseLibrary(DLL)
EndIf
EndIf
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Verfasst: 22.07.2007 12:02
von a14xerus
Cool ich wusste gar nicht das das geht, ich bleibe trotzdem bei den Imagegadgets, da kann ich auch den Rand des "Buttons" und die Animation beim drüberfahren selber "bestimmen"
(benutze das im Moment bei den Skins von meinem Player)
Verfasst: 22.07.2007 12:51
von RSBasic
@Andreas
Vielen Dank für deine Lösung
Hm...ich weis jetzt noch nicht, was für eine Variante ich wählen soll, entweder die die Idee von a14xerus oder die die von Andreas.
Beide sind gute Wege, aber verschieden
