Breite der Drop-down Liste einer TComboBox anpassen

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
hbr
Beiträge: 321
Registriert: Mi 20. Feb 2013, 10:30
OS, Lazarus, FPC: Win (L 2.2.4 FPC 3.2.2)
CPU-Target: 32/64,ARM(RPi)

Breite der Drop-down Liste einer TComboBox anpassen

Beitrag von hbr »

Hallo,
ich hatte den Eintrag gelöscht, weil ich das Gefühl habe, das meine Fragen hier nicht ernst genommen werden.
Es soll ja auch Leute geben die keine Profis sind.

OK!
ich versuch es jetzt noch einmal.
Ich würde gerne wie in der Überschrift angedeutet die Breite einer Drop-down Liste ändern.
Dazu habe ich das http://www.swissdelphicenter.ch/de/showcode.php?id=588 genommen,
welches aber leider nicht Funktioniert.

Kann mir jemand helfen?

MFG

Soner
Beiträge: 726
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: Breite der Drop-down Liste einer TComboBox anpassen

Beitrag von Soner »

Du kannst die Nachricht direkt an Windows senden dann funktioniert es:

Code: Alles auswählen

 
uses windows;
....
   SendMessage(ComboBox1.Handle,CB_SETDROPPEDWIDTH , 500,0); //500 ist breite in pixel :)
 
Da das nur für Windows ist würde ich diesen Teil in {$IFDEF Windows} {$ENDIF} ausklammern.

hbr
Beiträge: 321
Registriert: Mi 20. Feb 2013, 10:30
OS, Lazarus, FPC: Win (L 2.2.4 FPC 3.2.2)
CPU-Target: 32/64,ARM(RPi)

Re: Breite der Drop-down Liste einer TComboBox anpassen

Beitrag von hbr »

Vielen Dank,
mit SendMessage funktioniert es.

Gibt es denn eine Globallösung für alle?

Ich brauche nämlich für die ComboBox nur eine Breite von 43 und für die Dop- Liste eine Breite von 220.
Gibt es ansonsten vieleicht eine andere Möglichkeit, Idee?

MFG

Soner
Beiträge: 726
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: Breite der Drop-down Liste einer TComboBox anpassen

Beitrag von Soner »

Du kannst ja die Combobox 43 Pixel lang plazieren die Dropdownliste mit der Funktion von vorhin 220 Pixel lang machen; und das in TForm.Oncreate-Funktion.
Das ist der gängige Weg bei Windows.
Soweit ich weiß passen sich GTK2 und QT-Widgetsets automatisch an die Länge des längsten Eintrags.
3 Weg weg ist du bastelst dir eine eigene Combobox, was unnötige Arbeit ist.

hbr
Beiträge: 321
Registriert: Mi 20. Feb 2013, 10:30
OS, Lazarus, FPC: Win (L 2.2.4 FPC 3.2.2)
CPU-Target: 32/64,ARM(RPi)

Re: Breite der Drop-down Liste einer TComboBox anpassen

Beitrag von hbr »

Danke,
Soner hat geschrieben:Soweit ich weiß passen sich GTK2 und QT-Widgetsets automatisch an die Länge des längsten Eintrags.
Na dann ist ja alle bestens.

Gruß

Antworten