Форум: "Основная";
Текущий архив: 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