Главная страница
    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
11-1104783061
Rocket
2005-01-03 23:11
2005.08.28
ExecuteIORedirect


10-1100616891
MegaLexx
2004-11-16 17:54
2005.08.28
Нетривиальный (то бишь неправильный) импорт ActiveX компонента


3-1121348982
Uran
2005-07-14 17:49
2005.08.28
Номер недели в ADO


14-1122630027
ANB
2005-07-29 13:40
2005.08.28
История России и Украины.


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