Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.28;
Скачать: CL | DM;

Вниз

Изменить высоту элемента в TreeView   Найти похожие ветки 

 
Viktop   (2005-08-05 07:45) [0]

Имеется TreeView и в нём несколько элементов и у некоторых Text больше ширины TreeView. Как можно разбить текст на 2, 3, ..., n строк (только у тех элементов,где Text больше ширины)?
Я делаю так:
procedure TForm1.FormCreate(Sender: TObject);
var
 i: integer;
begin
 for i := 0 to TreeView1.Items.Count - 1 do
   if TreeView1.Width < TreeView1.Canvas.TextWidth(TreeView1.Items.Item[i].Text) then
   SendMessage(TreeView1.Items.Handle, TVM_SETITEMHEIGHT, 20, 0);
end;

но высота меняется у всех элементов и текст не переносится.

P.S.: и как узнать во сколько строк будет умещаться текст и осуществить его разбитие? А то я увеличивал в 2 раза:
SendMessage(TreeView1.Items.Handle, TVM_SETITEMHEIGHT, (SendMessage(TreeView1.Handle, TVM_GETITEMHEIGHT, 0, 0)*2, 0);


 
Юрий Зотов ©   (2005-08-05 07:59) [1]

> но высота меняется у всех элементов и текст не переносится.

Из описания TVM_SETITEMHEIGHT в MSDN:

The tree-view control uses this value for the height of all items. To modify the height of individual items, see the description of the iIntegral member of the TVITEMEX structure.

> и как узнать во сколько строк будет умещаться текст и
> осуществить его разбитие?

См. DrawText (флаги DT_CALCRECT, DT_WORDBREAK).



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

Текущий архив: 2005.08.28;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.035 c
4-1121244324
unregister_256
2005-07-13 12:45
2005.08.28
лейбел - гиперссылка


1-1123474947
Ldt
2005-08-08 08:22
2005.08.28
Из GSM кодировки в ASCII


8-1113732159
lifo
2005-04-17 14:02
2005.08.28
аудиопоток


4-1120650731
Cosinus
2005-07-06 15:52
2005.08.28
Почему из-за нижеследующего кода в ловушке, она не работает?


14-1123146950
Layner
2005-08-04 13:15
2005.08.28
Под Москвой выселяют дачников из незаконно постр. котеджей.