Seite 1 von 1
ButtonImagegadget() ohne Umrandung
Verfasst: 08.03.2008 17:10
von KinkMike
Hallo, wie der Titel schon sagt, möchte ich gerne in mein Programm, welches ich mit
PB 3.30 programmiere einen Buttonimagegadget ohne Umrandung einbauen.
Hier ein Screenshot:
Weis jemand wie man das macht, diese graue Umrandung wegzubekommen, oder ist es mit PB 3.3 nicht möglich ?
Im Vorraus besten Dank
Verfasst: 08.03.2008 17:18
von AND51
Nimm doch ein ImageGadget() mit dem Flag #PB_ImageGadget_Borderless (sofern es das in 3.30 gibt).
Alternativ kannst du das Bild manuell malen mit StartDrawing().
Verfasst: 08.03.2008 17:21
von KinkMike
Naja, nur kann ich den Button dann in PB3.3 nicht drücken, und ich wollte halt einen ButtonImageGadget, den ich drücken kann.
Verfasst: 08.03.2008 17:24
von Tombi
Edit: äh - weiter unten gehts weiter

Verfasst: 08.03.2008 17:35
von AND51
> ich wollte halt einen ButtonImageGadget, den ich drücken kann
Geht es dir nur um den Drück-Effekt, sodass ? Oder geht es dir nur darum, dass du ein Ereignis erhälst? Wenn es dir nur darum geht, ein Ereignis zu erhalten, wenn das Gadget angeklickt wurde, dann bist du auch mit einem ImageGadget() gut beraten.
Um den Rand eines Buttons wegzukriegen müsstest du IIRC auf API zurückgreifen, ich erinner mich da dunkel an ein Flag namens #BS_FLAT, das IIRC aber nur mit ausgeschaltetem XP Skin funktionierte. Musst du mal ausprobieren. Vielleicht ist es das ja.
Verfasst: 08.03.2008 17:40
von Tombi
In Version 3.30 hat ButtonImageGadget() noch keine Flags. Jedenfalls ist das nicht dokumentiert (Handbuch/offizielle Hilfe)
Vielleicht hilft aber trotzdem das was über meinem Beitrag geschrieben wurde weiter

Verfasst: 08.03.2008 17:59
von Kaeru Gaman
auch das ImageGadget kann afaik ein Click-Ereignis empfangen.
außerdem sieht man bei einem ButtonImageGadget ohne Rahmen eh keine Bewegung beim anklicken.
du müßtest also so oder so, egal ob ImageGadget oder ButtonImageGadget ohne Rahmen,
deine Drück-Animation selber einpflegen....
kommt also aufs selbe raus.
Verfasst: 08.03.2008 18:05
von KinkMike
Ahh ok, geht das denn so ohne weiteres, mit dem ImageGadget(), da in der Hilfe folgendes steht: "Das Gadget hat keinerlei Eingabefunktion, deshalb werden Benutzereingaben (Mausklicks etc...) nicht ausgewertet. "
Verfasst: 08.03.2008 18:08
von Tombi
Wenn ich das jetzt richtig verstanden habe musst du selber über ImageGadget() das Bild einbauen, die Maus-Koordinaten prüfen ob auf das Bild gezeigt wird und entsprechend reagiert wenn dann gedrückt wird (Klick-Effekt und was dann eben passiert)
Verfasst: 08.03.2008 18:12
von KinkMike
So sollte es funktionieren

naja, wenns keine andere Möglichkeiten gibt, dann probiere ich das mal aus.