![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ListBox и DrawText [D6, XP]
Sonic90 © (2008-01-12 22:47:00)Здраствуйте!Проблема вот в чём,я отрисовываю текст в ЛистБоксе используя функцию DrawText,а как получить текст всех отрисованых строк и записать их к примеру в TStrings?
KilkennyCat (2008-01-13 11:48:00) [1]
> Leonid Troyanovsky © (13.01.08 11:42) [12]
>
>
отлично. ну тогда я выкидываю свой телепатор. раз автор выкидывает хэзстринг, который по умолчанию есть, значит он работает ну с очень достаточно большим объемом данных, и где он их перед этим хранит фиг знает... и при этом получаем полный винапи... да еще и вопрос так поставлен, что просто один вариант прочтения, что автору хитрое выравнивание понадобилось...
за "наезд" в [4] приношу извинения.
Leonid Troyanovsky (2008-01-13 11:42:00) [2]
> KilkennyCat © (13.01.08 11:20) [11]
> Имеется ввиду отсутствие оного?
Да.
Кроме того, owner-drawn листбоксы могут содержать пустые строки,
что до появления стилей lbVirtual довольно часто использовалось.
--
Regards, LVT.
KilkennyCat (2008-01-13 11:20:00) [3]
> Leonid Troyanovsky © (13.01.08 10:30) [10]
Имеется ввиду отсутствие оного?
Leonid Troyanovsky (2008-01-13 10:30:00) [4]
> KilkennyCat © (13.01.08 01:52) [9]
> а для чего собственно, вообще использовать в таком случае
> ЛистБокс?
Случаи разные бывают.
См. LBS_HASSTRINGS.
--
Regards, LVT.
KilkennyCat (2008-01-13 01:52:00) [5]procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
drawtext(listbox1.Canvas.Handle, pchar(listbox1.Items.Strings[index]), length(listbox1.Items.Strings[index]), rect, 1);
end;
это наивно навскидку.
> Германн © (13.01.08 01:48) [7]
а для чего собственно, вообще использовать в таком случае ЛистБокс?
Германн (2008-01-13 01:51:00) [6]
> MsGuns © (13.01.08 01:48) [6]
>
> Включив телепатор, делаю предположение, что автора интересуют
> только видимые строки листбокса
>
А что? В нём есть и "невидимые"?
MsGuns (2008-01-13 01:48:00) [7]Включив телепатор, делаю предположение, что автора интересуют только видимыестроки листбокса
Германн (2008-01-13 01:48:00) [8]
> KilkennyCat © (13.01.08 01:31) [4]
>
>
> > Leonid Troyanovsky © (13.01.08 01:21) [2]
>
>
> Забавно. Ответ мастера.
> А ListBox.Items - это просто так сделали?
>
А какое отношение имеет текст выводимый WinAPI функцией в каком-то hDC к ListBox.Items?
Leonid Troyanovsky (2008-01-13 01:33:00) [9]
> KilkennyCat © (13.01.08 01:31) [4]
> А ListBox.Items - это просто так сделали?
Наивный.
--
Regards, LVT.
Leonid Troyanovsky (2008-01-13 01:31:00) [10]
> KilkennyCat © (13.01.08 01:17) [1]
> где текст хранится в листобксе где?
В Вологде?
--
Regards, LVT.
KilkennyCat (2008-01-13 01:31:00) [11]
> Leonid Troyanovsky © (13.01.08 01:21) [2]
Забавно. Ответ мастера.
А ListBox.Items - это просто так сделали?
Leonid Troyanovsky (2008-01-13 01:21:00) [12]
> Sonic90 (12.01.08 22:47)
> используя функцию DrawText,а как получить текст всех отрисованых
> строк и записать их к примеру в TStrings?
К примеру, записать их в TStringList после/перед рисованием.
--
Regards, LVT.
KilkennyCat (2008-01-13 01:17:00) [13]Встречный вопрос со встроенным ответом: а где текст хранится в листобксе где?