![]() |
Borderstyle einer Combobox?
Hi,
gibt es eine möglichkeit bei einer combobox den borderstyle auf bsNone umzustellen :roll: |
Re: Borderstyle einer Combobox?
es ist IMHO gar nicht so einfach.
Delphi-Quellcode:
Du kannst zwar schnell das Property ergaenzen aber dann geht die Arbeit im SetBorderStyle
TComboBoxWithBorderStyle = class(TComboBox)
private { Private-Deklarationen } FBorderStyle: TBorderStyle; procedure SetBorderStyle(const Value: TBorderStyle); protected { Protected-Deklarationen } public { Public-Deklarationen } published { Published-Deklarationen } property BorderStyle: TBorderStyle read FBorderStyle write SetBorderStyle default bsSingle; end; erst richtig los. Du muss deine ComboBox ja jetzt anders zeichnen lassen. Das Edit den PfeilButton und evtl. auch noch die aufgeklappte Box. Ich wuerde mal nach FlatComboBox googlen und schauen wie die das dort gemacht haben. |
Re: Borderstyle einer Combobox?
Versuch mal das
Delphi-Quellcode:
Geht das nicht muss ich stärkere geschütze Auffahren
SetWindowLong(ComboBox1.Handle, GWL_EXSTYLE, GetWindowLong(ComboBox1.Handle, GWL_EXSTYLE) and not WS_EX_CLIENTEDGE);
|
Re: Borderstyle einer Combobox?
@neolithos: das geht nicht
|
Re: Borderstyle einer Combobox?
Und wie sieht es damit aus:
Delphi-Quellcode:
:gruebel:
TFlatCombo = class (TComboBox)
protected procedure CreateParams(var Params : TCreateParams); override; end; procedure TFlatCombo.CreateParams(var Params : TCreateParams); begin inherited; with Params do ExStyle := ExStyle and not WS_EX_CLIENTEDGE; end; EDIT: Fehler beseitigt! Wer lesen kann ist klar im Vorteil! Vorallem die eigenen Texte! |
Re: Borderstyle einer Combobox?
geht gar nicht:
1.) Das override musste hinter der implementation weg 2.) In der Zeile
Delphi-Quellcode:
kommt die Fehlermeldung: "Operator not applicable to this operandtype
Params := Params and not WS_EX_CLIENTEDGE
|
Re: Borderstyle einer Combobox?
Klappt es jetzt?
|
Re: Borderstyle einer Combobox?
Nein, bleibt weiterhin mit border, aber das war auch anzunehmen da setwindowlong ja eigentlich das gleiche macht
|
Re: Borderstyle einer Combobox?
Stimmt!
Aber es liegt daran, das ich einem Irtum aufgelaufen bin. Ich dachte die ComboBox funktioniert ähnlich der TextBox. Dummerweise zeichnet die ComboBox den Rahmen anders. |
Re: Borderstyle einer Combobox?
In der ComboBox wird der Rahmen auf die ClientArea gezeichnet. Das bedeutet, wenn man ihn loswerden möchte müsste man da ansetzen. Das ist aber recht gefährlich und umfangreich!
> falls du eine Lösung gefunden hast, poste sie bitte mal < |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz