Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.01.17;
Скачать: CL | DM;

Вниз

Выравнивание содержимого в ячейке таблицы по высоте   Найти похожие ветки 

 
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 вся ветка

Текущий архив: 2002.01.17;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.01 c
3-52471
МАРАТ
2001-12-14 15:21
2002.01.17
Не могу открыть *.GDB


3-52455
kat
2001-12-14 09:30
2002.01.17
Индексы


14-52652
hp1100
2001-11-19 15:41
2002.01.17
Как в COM-портовской клаве заставить работать дополн.кнопки - SLEEP и прочее


1-52573
Lamok (real)
2001-12-28 23:23
2002.01.17
EStringlistError


14-52665
Donal
2001-11-19 13:46
2002.01.17
кто стучится в дверь моя?