![]() |
Combobox vergrößern
Hallo zusammen,
ich habe wiedermal eine Frage zu ComboBoxen. Und zwar möchte ich, dass das (meist) weiße Feld der ComboBox nach rechts größer wird, wenn ich auf den Pfeil klicke. Der Pfeil soll aber an seiner ursprünglichen Position bleiben. D. h., nochmal kurz: einfach das weiße Feld vergrößern. |
Re: Combobox vergrößern
warum vergrößerst du nicht die combobox?
mfg christoph |
Re: Combobox vergrößern
Zitat:
Aber wie man das lösen könnte ist mir nicht bekannt. Ausser selber basteln. |
Re: Combobox vergrößern
Lol hat zwar nicht das Problem, sonder Micha, aber
genau Sharky, so meine ich das. Ich habe das schon mal gesehen. Es muss gehen. |
Re: Combobox vergrößern
hi
das glaube ich weniger. ich denke nicht das das mir einer standart-komponente geht, aber mit einer eigen bestimmt! :D gruß christoph |
Re: Combobox vergrößern
Hallo,
ich hatte mal das gleiche Problem. Versuchs mal im Dropdown-Ereignis der Combobox mit
Code:
Hier wird die Listenbreite der Combobox auf 200 Pixel gesetzt.
SendMessage(Combobox1.Handle, CB_SETDROPPEDWIDTH, 200,0);
Ach ja, die Unit "Messages" musst Du noch einbinden. HTH Frank |
Re: Combobox vergrößern
Zitat:
|
Re: Combobox vergrößern
Hey, danke.
Echt klasse. Hab aber gleich noch ne Frage: Kann man es dann auch so einstellen, dass es keine bestimmte Breite ist, sondern eben die Länge des Textes? |
Re: Combobox vergrößern
Dann mußt du erstmal mit TextWidth in einer Schleife die Größe des breitesten Eintrages holen.
Delphi-Quellcode:
procedure TForm1.ComboBox1DropDown(Sender: TObject);
var i, textwidth: integer; begin textwidth := ComboBox1.Width; for i := 0 to ComboBox1.Items.Count - 1 do begin if ComboBox1.Canvas.TextWidth(ComboBox1.Items.Strings[i]) > textwidth then begin textwidth := ComboBox1.Canvas.TextWidth(ComboBox1.Items.Strings[i]) + 10; end; end; SendMessage(Combobox1.Handle, CB_SETDROPPEDWIDTH, textwidth, 0); end; |
Re: Combobox vergrößern
Danke euch allen für eure schnelle und kompetente Hilfe.
|
Re: Combobox vergrößern
Hallo,
Bin durch die Sufu auf diesen Artikel gekommen. Ich benutze eine mbTBXComboBox und wenn ich den oben genannten Code verwende, wirft mir mein Delphi6 einen Error von wegen Undefinierter Bezeichner 'CB_SETDROPPEDWIDTH'. Muss ich irgendeine Unit einbinden oder geht das mit den mbTBX-Komponenten nicht? Gruß Lee500 |
Re: Combobox vergrößern
Du musst die Unit Messages einbinden. In der sind alle Windows Nachrichten definiert.
|
Re: Combobox vergrößern
Ah läuft! Danke
|
Re: Combobox vergrößern
Zitat:
|
Re: Combobox vergrößern
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:16 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