Главная страница
    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.45 MB
Время: 0.005 c
14-50471
Мазут Береговой Рюрикович
2003-05-30 10:09
2003.06.16
Не могу не поделиться....


6-50419
TIER
2003-03-22 08:28
2003.06.16
Как программно скопировать файл по локалке ???


4-50553
Xoy
2003-04-16 23:43
2003.06.16
как кпредилить раскладку


1-50344
Wernut
2003-06-01 08:46
2003.06.16
Вывод информации на печать


7-50540
yura
2003-04-10 18:28
2003.06.16
Неужели никто не знает?!!!. Как в Delphi можно отключить польз..





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский