Seite 1 von 1

XbpImageButton() mit individuellen Farben?

Verfasst: Mo, 16. Okt 2017 22:30
von DelUser01
Hallo

XbpImageButton() läuft ja unter "owner drawing".
Da müsste es doch auch möglich sein, Text- und Buttonfarben zu ändern.
Oder geht das trotzdem nur mit den Systemwerten XBPSYSCLR... ?

Re: XbpImageButton() mit individuellen Farben?

Verfasst: Di, 17. Okt 2017 0:14
von AUGE_OHR
DelUser01 hat geschrieben: Mo, 16. Okt 2017 22:30 XbpImageButton() läuft ja unter "owner drawing".
Da müsste es doch auch möglich sein, Text- und Buttonfarben zu ändern.
bei Ownerdraw hast du so ziemlich alle Möglichkeiten ... nur nicht beim Visual Style GraBackground()
DelUser01 hat geschrieben:Oder geht das trotzdem nur mit den Systemwerten XBPSYSCLR... ?
alle GRA und RGB Werte sind möglich wenn Hotfix #22 (PDR 6129) für v1.9x installiert ist.

Re: XbpImageButton() mit individuellen Farben?

Verfasst: Di, 17. Okt 2017 0:30
von DelUser01
Hallo Jimmy
AUGE_OHR hat geschrieben: Di, 17. Okt 2017 0:14alle GRA und RGB Werte sind möglich wenn Hotfix #22 (PDR 6129) für v1.9x installiert ist.
Dann müsste das ja mit V2 (840) auch gehen - oder?
Habe "rumprobiert", hat sich aber nichts geändert. Nicht bei der Textfarbe und nicht der Background.

Re: XbpImageButton() mit individuellen Farben?

Verfasst: Di, 17. Okt 2017 0:41
von AUGE_OHR
DelUser01 hat geschrieben: Di, 17. Okt 2017 0:30Habe "rumprobiert", hat sich aber nichts geändert. Nicht bei der Textfarbe und nicht der Background.
hm ... und "was" hast du "wo" geändert ?
... ein GraSetAttrString() sehe ich nur an einer "bestimmten" Stelle und da kommt er wahrscheinlich bei dir gar nicht rein.

Re: XbpImageButton() mit individuellen Farben?

Verfasst: Di, 17. Okt 2017 0:49
von DelUser01
AUGE_OHR hat geschrieben: Di, 17. Okt 2017 0:41... und "was" hast du "wo" geändert ?
hier:

Code: Alles auswählen

 METHOD XbpImageButton:Init( oParent , oOwner , aPos , aSize , aPP , lVisible )
  ::XbpPushButton:Init( oParent , oOwner , aPos , aSize , aPP , lVisible )
  ::TextAlign                   := XBPALIGN_VCENTER + XBPALIGN_LEFT
  ::ImageAlign                  := XBPALIGN_VCENTER + XBPALIGN_LEFT
  ::CaptionLayout               := XBP_LAYOUT_TEXTRIGHT
  ::DrawMode                    := XBP_DRAW_OWNER
  ::TextAttrs                   := Array( GRA_AS_COUNT )
  ::AreaAttrs                   := Array( GRA_AA_COUNT )
  ::AreaAttrs[GRA_AA_COLOR]     := XBPSYSCLR_3DFACE   <= <= <= <= <= <= <= <=
  ::TextAttrs[GRA_AS_COLOR]     := XBPSYSCLR_WINDOWTEXT    <= <= <= <= <= <= <= <=
  ::TextAttrs[GRA_AS_VERTALIGN] := GRA_VALIGN_BOTTOM
RETURN self

Re: XbpImageButton() mit individuellen Farben?

Verfasst: Di, 17. Okt 2017 1:00
von AUGE_OHR
dir ist klar das du nur "Werte" angegeben hast aber die "ausgeführt" werden müssen.

suche doch mal nach GraSetAttrString() das sich in der METHOD XbpImageButton:DrawText() befindet und siehe dir das genau an :!:

wenn du also möchtest das er "mehr" macht musst du, für den Text, in der Method "erweitern".

Re: XbpImageButton() mit individuellen Farben?

Verfasst: Di, 17. Okt 2017 1:18
von DelUser01
OK - hast recht, habe an der falschen Stelle gedreht.
Die Textfarbe lässt sich ändern, der Hintergrund nicht.

Gibt es auch ein "Roll Over" ?

Re: XbpImageButton() mit individuellen Farben?

Verfasst: Di, 17. Okt 2017 1:36
von Werner_Bayern
DelUser01 hat geschrieben: Di, 17. Okt 2017 1:18 Gibt es auch ein "Roll Over" ?
Nein

Re: XbpImageButton() mit individuellen Farben?

Verfasst: Di, 17. Okt 2017 1:42
von AUGE_OHR
DelUser01 hat geschrieben: Di, 17. Okt 2017 1:18 Die Textfarbe lässt sich ändern, der Hintergrund nicht.
hatte ich doch gesagt das du den visual Style nicht beeinflussen kannst (und die Farbe ist dahinter).

du kannst ja mal den Aufruf

Code: Alles auswählen

   ::DrawBackground( oPS, aInfo )
auskommentieren, dann siehst du auch die BG Farbe.
... aber dann hat man kein "Hover" Effekt wenn man über einen Button fährst ohne ihn auszulösen [-X