Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi [XP-Manifest] Rahmen eines Buttons (https://www.delphipraxis.net/142382-%5Bxp-manifest%5D-rahmen-eines-buttons.html)

Alaitoc 27. Okt 2009 07:38


[XP-Manifest] Rahmen eines Buttons
 
Morgen DP-Community :-D ,
ich hab meine eigene TreeviewCombobox - Komponente fast vollständig fertig!
Äußerlich wirkt sie auch zu 100% wie eine normale Combobox, zumindest
solange die XP-Theme deaktiviert ist. Wenn sie aktiviert ist hat jeder Button
so einen häßlichen Rahmen um sich (in der Farbe des Hintergrundes) und ich habe
keine Ahnung wie ich den entfernen kann :o

Vll. habt ihr ja eine Idee oder Alternative dazu :)

MfG Alaitoc

Sherlock 27. Okt 2009 07:42

Re: [XP-Manifest] Rahmen eines Buttons
 
Dazu müsste man eventuell wissen, wie Du denn Deine Komponente hergestellt hast.

Sherlock

Alaitoc 27. Okt 2009 07:54

Re: [XP-Manifest] Rahmen eines Buttons
 
Die Komponente besteht aus nem TPanel, wo ein TEdit und ein TSpeedbutton draufliegen.
Dann gibts natürlich noch die anderen Sachen für den Treeview, aber das sollte hier
ja dann nebensächlich sein.

Sherlock 27. Okt 2009 07:57

Re: [XP-Manifest] Rahmen eines Buttons
 
Liste der Anhänge anzeigen (Anzahl: 2)
Na, dann kommt der Rahmen also vom TSpeedButton. Muss grad mal sehen, wie der so "gethemed" reagiert, ich nutze den sonst gar nicht.

Edith findet, daß der Button ganz chic aussieht (das kleine Glyphlein hab ich einfach mal so reingetan).

Sherlock

Alaitoc 27. Okt 2009 08:15

Re: [XP-Manifest] Rahmen eines Buttons
 
Soweit ich das sehe reagiert der genau wie der TButton, habe zumindest
keinen Unterschied feststellen können.

Schlecht aussehen tut er soweit ja nicht, nur ist halt der weiße Rahmen störend...

Zur Zeit versuche ich es so:

Panel.BevelInner := bvNone;
Panel.BevelOuter := bvNone;
Panel.BorderStyle := bsSingle;
Panel.Ctl3D := False;

Und verstecke den Rahmen des Buttons mit Top - 1, Left + 1 und sowie
der entsprechenden Größe.
Wobei dann nun das Panel nen schwarzen Rand hat x.x

OldGrumpy 27. Okt 2009 09:38

Re: [XP-Manifest] Rahmen eines Buttons
 
Es gibt einen gravierenden Unterschied zwischen TButton und TSpeedButton: TSpeedButton hat kein Fensterhandle da es kein Windows-Control ist (siehe auch die unterschiedlichen Parentklassen von TSpeedButton und TButton). Das hat mir auch schon ein paar schlaflose Nächte bereitet und letzten Endes dazu geführt, mir selber ein paar Controls zu bauen :)

Klaus01 27. Okt 2009 09:46

Re: [XP-Manifest] Rahmen eines Buttons
 
Guten Morgen,

versuche mal folgendes:
z.B. beim TPanel

Delphi-Quellcode:
  ParentBackGround := true;
Grüße
Klaus

Alaitoc 27. Okt 2009 09:58

Re: [XP-Manifest] Rahmen eines Buttons
 
Liste der Anhänge anzeigen (Anzahl: 1)
ParentBackGround hat bei mir nur bewirkt, dass der Button zumindest keinen grauen
sondern nur einen weißen Rahmen hat.

Also hier mal ein Bild zur aktuellen Situation:

1. Aktuelles Design im XP-Style
2. Aktuelles Design ohne XP-Style
3. Gewünschtes Design im XP-Style (also so in etwa)

Edith hätte sonst noch anzubieten das der Rahmen richtig ist, aber der Button mit nem weißen Rahmen drum rum im Panel liegt. ^^

Alaitoc 27. Okt 2009 12:43

Re: [XP-Manifest] Rahmen eines Buttons
 
So ich hab mein Panel nun mit nem Canvas erweitert und versuche mal den Rahmen halt manuell zu zeichnen,
die Frage die sich mir dabei aber stellt...welche Farbe nutzt eine normale Combobox im XP-Style? :o

MarcoWarm 27. Okt 2009 12:51

Re: [XP-Manifest] Rahmen eines Buttons
 
Zitat:

Zitat von Alaitoc
...welche Farbe nutzt eine normale Combobox im XP-Style? :o

keine Farbe als solche. Der XP/Vista Stil wird mittels Themes gezeichnet
Delphi-Referenz durchsuchenTThemedComboBox
Damit kannst du auch den Button korrekt gethemed zeichnen.

Gruß
Marco


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:51 Uhr.
Seite 1 von 2  1 2      

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