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

Вниз

Изменить высоту элемента в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.037 c
14-1123169692
drakoga
2005-08-04 19:34
2005.08.28
У кого есть какие сайты


9-1115234771
Qwertyk
2005-05-04 23:26
2005.08.28
3D Модель танка (любого)


14-1123137542
Alex*
2005-08-04 10:39
2005.08.28
Тактико-экономическая оценка (ТЭО) программнного средства


1-1123489084
granni
2005-08-08 12:18
2005.08.28
Количество запущенных приложений


5-1093642947
Sphinx
2004-08-28 01:42
2005.08.28
Перекрытие свойств компонента





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