AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi einen flachen TButton/TBitBtn oder einen TSpeedButton mit der Property Default
Thema durchsuchen
Ansicht
Themen-Optionen

einen flachen TButton/TBitBtn oder einen TSpeedButton mit der Property Default

Ein Thema von David Martens · begonnen am 1. Aug 2013 · letzter Beitrag vom 15. Aug 2013
Antwort Antwort
David Martens

Registriert seit: 29. Sep 2003
205 Beiträge
 
Delphi XE Enterprise
 
#1

einen flachen TButton/TBitBtn oder einen TSpeedButton mit der Property Default

  Alt 1. Aug 2013, 17:10
Hallo,

ich suche nach einem Button der:
1. flach ist
2. die Eigenschaft Default hat
3. Bilder geben dem Text erlaubt (vorzugsweise png)
4. "themebar" ist und dabei gut aussieht (wie der Speedbutton halt)

Das sind sozusagen die Eigenschaften eines TButtons/TBitBtns und eines TSpeedButtons zusammen.

Momentan benutze ich die TPngSpeedButtons und jetzt sollen die eigentlich auch die normalen TButtons ersetzen, aber die haben keine:
1. Focus
2. Default
da diese Eigenschaften von TWinControl kommen und der TPngSpeedButton von TGraphicControl kommt.

Sowas muß es doch geben , aber ich habe bis jetzt nix gefunden.
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: einen flachen TButton/TBitBtn oder einen TSpeedButton mit der Property Default

  Alt 1. Aug 2013, 17:19
Mit dem normalen TButton ist dies doch alles möglich. Man kann ihn auf Default setzen, er kann einen Focus haben und man kann mithilfe einer ImageList ein Bild hinterlegen.

Edit: Sorry, er hat die Flat Property nicht. Hab ich vergessen.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#3

AW: einen flachen TButton/TBitBtn oder einen TSpeedButton mit der Property Default

  Alt 2. Aug 2013, 07:31
Mach es richtig: Besorg Dir eine Skin-Library und verpasse deiner Anwendung ein richtig gepimptes Design.

Denn Du fängst heute mit den Buttonis an, morgen sind es die Edit-Felder, Checkboxen usw. Dann die Group-Boxen, Überschriften, Formulare etc.

Halbherzig gepimpte Formulare sehen genauso gut aus, wie in der Hinterhofgarage am Wochenende gepimpte Golf GTI. Nämlich peinlich.

Ich spreche übrigens aus Erfahrung.

Mach es richtig oder gar nicht.

Ach, und die Ästhetik eines aufgeräumten Formulares will auch gelernt sein. Will sagen: Flache Buttons/Skins machen noch kein gutes Design.
  Mit Zitat antworten Zitat
David Martens

Registriert seit: 29. Sep 2003
205 Beiträge
 
Delphi XE Enterprise
 
#4

AW: einen flachen TButton/TBitBtn oder einen TSpeedButton mit der Property Default

  Alt 6. Aug 2013, 08:56
Das hilft mir leider nicht weiter.

Wir arbeiten mit festen Design-richtlinien.
In naher Zukunft sollen die Laufzeit-Themes kommen, aber das ergibt momentan noch recht unschöne Ergebnisse. Daher haben wir uns entschieden erst einmal die doch sehr altertümlichen Buttons durch flache Buttons zu ersetzten, da diese in beiden "Welten" unseren Design-Ansprüchen genügen.

Eine Skin-Library ist, meiner Meinung nach, über das Ziel hinaus geschossen. Außerdem werden damit sicherlich selbstgebaute Komponenten nicht berücksichtigt und eine dieser Komponenten ist zentrales Element.

Gruß David
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: einen flachen TButton/TBitBtn oder einen TSpeedButton mit der Property Default

  Alt 6. Aug 2013, 09:18
Eine Skin-Library ist, meiner Meinung nach, über das Ziel hinaus geschossen.
Eine eigene Skin-Library ist unnötig. In neueren Delphi-Versionen ist eine Theming/Skinning-Schnittstelle in der VCL eingebaut und gepflegte Komponenten (LMD, ...) unterstützen diese auch.


Für dein Beispiel dürfte die Button-Komponente vom ElPack (lmd.de) genügen. Die Frag ist aber ob ihr euch vernünftigerweise auf 2-3 zentrale GUI-Komponentensammlungen beschränkt oder "Wild im Internet" je nach Anforderung irgendwelche Kompos verwendet.

Außerdem werden damit sicherlich selbstgebaute Komponenten nicht berücksichtigt und eine dieser Komponenten ist zentrales Element.
Dann wäre es anzudenken hier diese eigengebauten Komponenten auf die VCL-Interne Theming-Schnittstelle umzubauen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: einen flachen TButton/TBitBtn oder einen TSpeedButton mit der Property Default

  Alt 6. Aug 2013, 09:26
Also abgesehen davon, dass meistens die flachen Buttons noch deplatzierter wirken als die alten Buttons (da gab es ein paar Programme vor Jahren als die Themes mit Windows anfingen):
Muss der Button wirklich Default sein? Es würde doch reichen, wenn der Druck auf Enter (sollte z.B. per KeyPreview formularweit gehen) entsprechend behandelt wird. Dann könntest du nämlich einen Speedbutton nehmen...
(auch wenn ich persönlich die nicht mehr nehmen würde, nur noch normale Buttons, da die mittlerweile ja auch Icons usw. können)
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Steku

Registriert seit: 12. Mai 2008
185 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#7

AW: einen flachen TButton/TBitBtn oder einen TSpeedButton mit der Property Default

  Alt 6. Aug 2013, 09:42
Für dein Beispiel dürfte die Button-Komponente vom ElPack (lmd.de) genügen.
Hi,

wenn ich mich recht erinnere, gab es von den LMD Komponenten auch eine Freeware Version.
Dort waren auch Speed- bzw. Standard Buttons enthalten. Zumindest damals kannte der
Speedbutton auch kein Default, der Standard Button hatte glaube ich mich zu erinnern aber
mehrere Flat-Styles an Bord.

Gruß
Steku
  Mit Zitat antworten Zitat
David Martens

Registriert seit: 29. Sep 2003
205 Beiträge
 
Delphi XE Enterprise
 
#8

AW: einen flachen TButton/TBitBtn oder einen TSpeedButton mit der Property Default

  Alt 15. Aug 2013, 12:18
Hallo Leute,

da mir das leider alles nicht zusagt, habe ich mich hingesetzt und die TBitBtn Klasse "kopiert".
Dann habe ich die Sachen vom TPngBitBtn hinzugefügt, weil ich lieber Pngs anzeigen will als Bitmaps. Aus TButton dann das wichtige Default. Und zu guter letzt die Möglichkeit den Button flach zu machen.

Soweit ist jetzt alles schön.
Jetzt hätte ich aber gern noch dieses "Blau", das man sieht wenn man mit der Maus über einen Button geht, als Hintergrund, wenn es der DefaultButton ist.

Ich habe:
Delphi-Quellcode:
  Details := ThemeServices.GetElementDetails(tbPushButtonHot); //tbPushButtonDefaulted noch mehr "Schnickschnak"
  ThemeServices.DrawElement(DrawItemStruct.hDC, Details, DrawItemStruct.rcItem);
versucht. Das gibt mir genau die richtige Farbe, aber leider habe ich da auch diesen blöden Rand drum herum.

Kann mir jemand sagen ob:
1. ich diese Farbe irgendwo her bekommen kann, oder ob diese Farbe immer die Selbe ist?
2. ich diese obige Routine benutzen kann und den Rand/Füllung dabei loswerden?

Am schönsten wäre 1.

Danke für eure Hilfe,
David
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:13 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