Delphi-PRAXiS

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 Combobox vergrößern (https://www.delphipraxis.net/9159-combobox-vergroessern.html)

Micha 19. Sep 2003 11:15


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.

LoL 19. Sep 2003 11:22

Re: Combobox vergrößern
 
warum vergrößerst du nicht die combobox?

mfg christoph

Sharky 19. Sep 2003 11:32

Re: Combobox vergrößern
 
Zitat:

Zitat von LoL
warum vergrößerst du nicht die combobox?

mfg christoph

Ich denke LoL möchte so etas wie im Bild zu sehen.

Aber wie man das lösen könnte ist mir nicht bekannt. Ausser selber basteln.

Micha 19. Sep 2003 11:53

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.

LoL 19. Sep 2003 12:00

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

FBrust 19. Sep 2003 13:08

Re: Combobox vergrößern
 
Hallo,

ich hatte mal das gleiche Problem.
Versuchs mal im Dropdown-Ereignis der Combobox mit

Code:
SendMessage(Combobox1.Handle, CB_SETDROPPEDWIDTH, 200,0);
Hier wird die Listenbreite der Combobox auf 200 Pixel gesetzt.

Ach ja, die Unit "Messages" musst Du noch einbinden.

HTH

Frank

Sharky 19. Sep 2003 13:27

Re: Combobox vergrößern
 
Zitat:

Zitat von FBrust
Code:
SendMessage(Combobox1.Handle, CB_SETDROPPEDWIDTH, 200,0);

Cool, wuste ich auch noch nicht. Geht wunderbar.

Micha 19. Sep 2003 14:14

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?

Tpercon 19. Sep 2003 14:16

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;

Micha 19. Sep 2003 14:43

Re: Combobox vergrößern
 
Danke euch allen für eure schnelle und kompetente Hilfe.

Lee500 6. Apr 2010 17:50

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

Luckie 6. Apr 2010 17:58

Re: Combobox vergrößern
 
Du musst die Unit Messages einbinden. In der sind alle Windows Nachrichten definiert.

Lee500 6. Apr 2010 18:00

Re: Combobox vergrößern
 
Ah läuft! Danke

DeddyH 6. Apr 2010 18:51

Re: Combobox vergrößern
 
Zitat:

Zitat von FBrust
Ach ja, die Unit "Messages" musst Du noch einbinden.

Es ist ja nicht so, dass es nicht da stand :roll:

alzaimar 7. Apr 2010 06:38

Re: Combobox vergrößern
 
Zitat:

Zitat von DeddyH
Zitat:

Zitat von FBrust
Ach ja, die Unit "Messages" musst Du noch einbinden.

Es ist ja nicht so, dass es nicht da stand :roll:

Ja, aber das war 2003. Seitdem hat sich viel getan. :mrgreen: Und außerdem hätte man scrollen müssen! :stupid:


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