Topic: список combobox
можно ли расширить список combobox или от только по ширине бокса?
My Visual Database → Russian → список combobox
можно ли расширить список combobox или от только по ширине бокса?
Скачайте пожалуйста последнюю бета версию, добавил такую возможность
https://www.dropbox.com/s/anufoqnsh809x … a.zip?dl=0
Можете установить фиксированную ширину
procedure Form1_ComboBox1_OnDropDown (Sender: TObject);
begin
SendMessage(Form1.ComboBox1.Handle, $0160, 200, 0); // 200 пикселей
end;
Либо необходимая ширина может быть подобрана автоматически
procedure Form1_ComboBox1_OnDropDown (Sender: TObject);
var
i, L, mWidth: integer;
begin
mWidth:=0;
for i := 0 to Form1.ComboBox1.Items.Count - 1 do
if (Form1.Canvas.TextWidth(Form1.ComboBox1.Items[i]) > mWidth) then mWidth := Form1.Canvas.TextWidth(Form1.ComboBox1.Items[i])+20;
SendMessage(Form1.ComboBox1.Handle, $0160, mWidth, 0);
end;
спасибо, а за что отвечает последний пораметр в SendMessage(Form1.ComboBox1.Handle, $0160, 200, 0)
путем научного тыка результат не выявил))
В цикле перебираются итемы комбобокса и ширина самого длинного текста в пикселях сохраняется в переменной mWidth , а SendMessage с параметром $0160 (CB_SETDROPPEDWIDTH) устанавливает эту ширину выпадающему списку.
П.С. Где в SendMessage третий параметр "200" - ширина фиксированная.
меня 0 интересует
My Visual Database → Russian → список combobox
Powered by PunBB, supported by Informer Technologies, Inc.
Theme Hydrogen by Kushi