Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.06.16;
Скачать: [xml.tar.bz2];

Вниз

Двустрочный итем в ComboBox   Найти похожие ветки 

 
McSimm2   (2003-06-03 09:16) [0]

Как нибудь можно осуществить сабж? Если длина строки > 30 символов делать двойной,тройной, ... если - нет: одинарный.


 
NewN   (2003-06-03 10:13) [1]

Всё просто. Свойство Style должно быть lbOwnerDrawVariable;

procedure TForm1.ListBox1MeasureItem(Control: TWinControl; Index: Integer;
var Height: Integer);
var
i: Integer;
begin
Height:= ((TListBox(Control).Canvas.TextWidth(TListBox(Control).Items[Index]) div TListBox(Control).ClientWidth) + 1) * Height;
end;

procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
TListBox(Control).Canvas.FillRect(Rect);
DrawText(TListBox(Control).Canvas.Handle, PChar(TListBox(Control).Items[Index]),
Length(TListBox(Control).Items[Index]), Rect, DT_LEFT or DT_WORDBREAK);
end;


 
JohnJ   (2003-06-03 10:19) [2]

Чё-то сложно... А я бы разделял "в ручную"...


 
McSimm2   (2003-06-03 10:35) [3]

To NewN:

апочему TlistBox ?


 
NewN   (2003-06-03 11:29) [4]

To NewN:

апочему TlistBox ?

>>Ошибся, невнимательно читал. Надо TCombobox


 
McSimm2   (2003-06-03 11:37) [5]

Команду
TComboBox(Control).Canvas.TextWidth
не воспринимает ...


 
MetalFan   (2003-06-03 11:44) [6]

а как это "провернуть" в DBLookUpComboBox ?
есть идеи?


 
McSimm2   (2003-06-03 11:52) [7]

To MetallFan:
Я в результате вот так сделал:

procedure TFrm_main.CmbBox_TDomMeasureItem(Control: TWinControl;
Index: Integer; var Height: Integer);
var
h,h2,h3: Integer;
begin
if index <> -1 then
begin
h := length(TComboBox(Control).Items.Strings[Index])*TComboBox(Control).Font.Size;
h2 := TComboBox(Control).ClientWidth;
h3 := TComboBox(Control).ItemHeight;
Height := (h div h2+1) * h3;
end;
end;


 
MetalFan   (2003-06-03 13:04) [8]

а для DB? нету там такого события...



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.06.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
1-50392
midi
2003-06-04 12:02
2003.06.16
как правильно использовать CLX компоненты в Dll/Package


1-50351
Zigs
2003-06-03 19:33
2003.06.16
Подскажите, плз, как прижатии кнопки (TButton) вписать символ


3-50209
Niki
2003-05-23 14:01
2003.06.16
TADOConnection.Attributes


14-50514
alxx
2003-05-31 14:11
2003.06.16
Как соединить два офиса?


1-50314
Ghost
2003-06-03 10:10
2003.06.16
как сохранить всю информацию из ListView на диск ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский