Форум: "WinAPI";
Текущий архив: 2002.01.17;
Скачать: [xml.tar.bz2];
Вниз
Выравнивание содержимого в ячейке таблицы по высоте Найти похожие ветки
← →
KIR (2001-11-13 09:30) [0]Почему-то не работает параметр DT_VCENTER (даже если содержимое ячейки - одна строка). А вообще, меня очень интересует, можно ли выравнивать содержимое ячейки по высоте даже если это содержимое - несколько строк? И если можно, то как?
← →
KIR (2001-11-14 23:36) [1]люди...
← →
Макс Черных (2001-11-15 16:19) [2]Открой файл StdCtrls.pas и посмотри как все это делает
TCustomLabel (property Layout).
← →
Jurgen (2001-11-15 19:15) [3]>Макс Черных
Не прокатит, так как CustomLabel полностью отрисовывается (наследник от TGraphicControl, не имеет TabStop и т.д.), а ячейки грида - InplaceEdit, наследник от TCustomEdit, у него Microsoft"ом не заложено выравнивание по высоте, по ширине - есть...
Удачи. Да прибудет с тобой F1...
Borland FOREVER
← →
Макс Черных (2001-11-15 19:59) [4]2Jurgen
Еще как прокатит. Ячейка грида - InplaceEdit только в режиме редактирования текста в ней, а вот все остальные ячейки как раз
и отрисовываются. То, что TGraphicControl не имеет TabStop я, слава богу,
давно знаю :), а вот кто-то кажется думает, что сколько в гриде клеток -
столько и InplaceEdit.
← →
Jurgen (2001-11-16 09:16) [5]2Макс Черных
Тханкс, что направил на путь истинный. Писал не подумавши... :)
2Kir
DrawText(Canvas.Handle, Pchar(Text), Length(Text), TextRect,
DT_CENTER or DT_VCENTER);
← →
KIR (2001-11-18 17:47) [6]Так вот параметр DT_VCENTER почему-то не работает, даже если написать, так: DrawText(Canvas.Handle, Pchar(Text), Length(Text), TextRect, DT_VCENTER);
← →
Макс Черных (2001-11-18 20:13) [7]2KIR
DT_VCENTER не работает при выводе многострочного текста
а насчет того как сцентрировать, так вот кусок кода
метода TCustomLabel.Paint, который я уже советовал
посмотреть. Из него по моему мнению совершенно понятно
как это делается.
...
if FLayout <> tlTop then
begin
CalcRect := Rect;
DoDrawText(CalcRect, DrawStyle or DT_CALCRECT);
if FLayout = tlBottom then OffsetRect(Rect, 0, Height -
CalcRect.Bottom)
else OffsetRect(Rect, 0, (Height - CalcRect.Bottom) div 2);
end;
DoDrawText(Rect, DrawStyle);
...
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.01.17;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c