AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Transparenter Button - aber "korrekt"

Ein Thema von CCRDude · begonnen am 19. Mai 2015 · letzter Beitrag vom 21. Mai 2015
Antwort Antwort
Seite 1 von 2  1 2   
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#1

Transparenter Button - aber "korrekt"

  Alt 19. Mai 2015, 10:57
Ich suche jetzt schon eine Weile, finde auch reichlich "Tipps", die ich aber alle verwerfen musste.

Problem: ich brauche transparente Buttons. Die "Herausforderung" dabei ist, dass sie auch nutzbar sind - und zwar nicht nur für den Maus-User, sondern auch per Tastatur, inklusive Menschen mit Behinderung, d.h. die Buttons müssen auch den Fokus bekommen können, damit entsprechende Software ihren Text vorlesen kann!

Damit scheiden TSpeedButton und dutzende Fremdkomponenten, die sich damit rühmen, schonmal aus, TButton und TBitBtn haben kein Flat/Transparent-Property.

Mit einer Ableitung von TBitBtn oder TButtonControl kann ich in CreateParams den Style auf BS_COMMANDLINK setzen, damit habe ich den Vista+-Stil für Command Links, nur kommen die immer mit grünem Pfeil, und ich möchte am liebsten platformunabhängig agieren, kann auch den Pfeil nicht per BS_ICON/BM_SETIMAGE wegbekommen.

(PS: Cross-Post im Lazarus-Forum angelegt, da LCL ja schon recht speziell... ich wäre aber auch für Delphi-Lösungen dankbar, umsetzen kann ich dann vermutlich)

Geändert von CCRDude (19. Mai 2015 um 11:34 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.144 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Transparenter Button - aber "korrekt"

  Alt 19. Mai 2015, 10:59
Nimm doch einfach einen Label...
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Transparenter Button - aber "korrekt"

  Alt 19. Mai 2015, 11:27
Hmm danke, aber lies doch meine Anforderungen nochmal durch (habe das im Original jetzt auch nochmal unterstrichen).
Zitat:
d.h. die Buttons müssen auch den Fokus bekommen können, damit entsprechende Software ihren Text vorlesen kann!
TLabel basiert auf TGraphicControl, Fokus können aber nur von TWinControl abgeleitete Kompontenten erhalten (zumindest soweit ich das bisher verstanden habe).
  Mit Zitat antworten Zitat
Chris211183

Registriert seit: 19. Sep 2013
Ort: Braunschweig
204 Beiträge
 
Delphi 6 Professional
 
#4

AW: Transparenter Button - aber "korrekt"

  Alt 19. Mai 2015, 11:44
Bin zwar nicht so der Krack, wie die meisten hier, aber hast Du schonmal geguckt, ob Dir eventuell TCustomPanel weiter hilft ?

Hatte auch schon mal das Problem mit dieser Ableitungshirarchie bei der Verwendung mehrer Komponenteneigenschaften...

Viele Grüße
Christian
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.102 Beiträge
 
Delphi 12 Athens
 
#5

AW: Transparenter Button - aber "korrekt"

  Alt 19. Mai 2015, 11:45
Transparent = die Komponente zeichnet sich an der Stelle garnicht
oder Transparent = die Komponente bringt ihren Parent dazu auf sich das Abbild das Parents malen zu lassen, womit es durchsichtig wirkt
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PosEx im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Transparenter Button - aber "korrekt"

  Alt 19. Mai 2015, 13:15
@Chris211183: TCustomPanel ist zumindest von TWinControl abgeleitet, danke für die Idee! Ohne Focus- und MouseOver-Effekte ist das sogar blitzschnell umgesetzt. Ich versuche es mal ein wenig in die Richtung

@himitsu: eher wohl das zweite, aber beides wären Ansätze, mit denen ich arbeiten könnte.
  Mit Zitat antworten Zitat
Chris211183

Registriert seit: 19. Sep 2013
Ort: Braunschweig
204 Beiträge
 
Delphi 6 Professional
 
#7

AW: Transparenter Button - aber "korrekt"

  Alt 19. Mai 2015, 13:24
gerne ! Sag mal bitte Bescheid, ob es geklappt hat ! Würde mich interessieren
Christian
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#8

AW: Transparenter Button - aber "korrekt"

  Alt 20. Mai 2015, 13:40
So, nachdem ich mit dem TCustomPanel angefangen habe, bin ich dann doch direkt den Schritt zu TCustomControl auch noch gegangen. Fokus lässt sich ja "einfach" lösen - dank DrawFocusRect. Um das theme-kompatibel zu gestalten, könnte ich vermutlich UXTheme verwenden, aber ich will ja erstmal platformunabhängig arbeiten.

Kurz zusammengefasst also: erstmal scheint es, als ob das von Grund auf neu zu machen doch nicht so komplex war, wie ich befürchtet hatte.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#9

AW: Transparenter Button - aber "korrekt"

  Alt 20. Mai 2015, 18:17
Fokus lässt sich ja "einfach" lösen - dank DrawFocusRect.
Hä?
Was hat DrawFocusRect mit dem setzen des Focus an sich zu tun?
Denke mal gar nichts.
Zitat:
Um das theme-kompatibel zu gestalten, könnte ich vermutlich UXTheme verwenden, aber ich will ja erstmal platformunabhängig arbeiten.
Was nennst du platformunabhängig ?
Du möchtest deine Anwendung erstellt unter Windows auf nen Mac ausführen?
Auf anderen Systemen bringt es dir eh nichts diese verwenden die Themes von Windows nicht.

gruss

Geändert von EWeiss (20. Mai 2015 um 19:07 Uhr)
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#10

AW: Transparenter Button - aber "korrekt"

  Alt 20. Mai 2015, 21:49
TLabel basiert auf TGraphicControl, Fokus können aber nur von TWinControl abgeleitete Kompontenten erhalten (zumindest soweit ich das bisher verstanden habe).
Delphi-Referenz durchsuchenTStaticText
Ist wie TLabel aber ein echtes WinControl. Ich glaube, das hat sogar eine Transparent-Eigenschaft.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz