...resize the width of the drop-down list of a TComboBox?
Author: Thomas Stutz
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;
printed from
www.swissdelphicenter.ch
developers knowledge base