Главная страница
    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.04 c
14-1122538875
sapsi
2005-07-28 12:21
2005.08.28
Продвижение программного продукта


3-1121338260
Леонид
2005-07-14 14:51
2005.08.28
Узнать и передать значение если запись с пометкой на удаление...


3-1121673729
Juice
2005-07-18 12:02
2005.08.28
Дата и диалект ?


1-1122542200
HmG
2005-07-28 13:16
2005.08.28
Установка пакета


9-1113457023
parovoZZ
2005-04-14 09:37
2005.08.28
Наложение текстуры на OGL - е





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