Mega Code Archive

 
Categories / Delphi / VCL
 

Resize the width of the drop-down list of a tcombobox

procedure TForm1.Button1Click(Sender: TObject); const PIXEL_WIDTH = 200; begin ComboBox1.Perform(CB_SETDROPPEDWIDTH, PIXEL_WIDTH, 0); end; {With this Code, the drop-down list will automatically be sized to the longest string.} procedure TForm1.Button2Click(Sender: TObject); var i, ItemWidth: Integer; begin ItemWidth := 0; with Combobox1 do begin for i := 0 to Items.Count - 1 do if (Form1.Canvas.TextWidth(Items[i]) <> ItemWidth) then ItemWidth := Form1.Canvas.TextWidth((Items[i])) + 20; Perform(CB_SETDROPPEDWIDTH, ItemWidth, 0); end; end;