Главная страница
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.026 c
1-1123429873
BackGround
2005-08-07 19:51
2005.08.28
Socket.Data


4-1121083542
SpyBoy
2005-07-11 16:05
2005.08.28
combobox


3-1121621163
redlord
2005-07-17 21:26
2005.08.28
запрос sql: если есть изменить запись если нет то добавить запись


3-1121255683
Sanich
2005-07-13 15:54
2005.08.28
При объединении двух таблиц в запросе с одной надо выбрать все за


1-1123550320
Knop
2005-08-09 05:18
2005.08.28
Написание парсера