Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.006 c
1-52530
навичек
2001-12-27 07:41
2002.01.17
Дурацкая пошаговая отладка :(


1-52580
Andrey Sharapow
2001-12-27 11:13
2002.01.17
Нужна идея !!!


1-52534
Andrey196
2001-12-26 18:28
2002.01.17
Как у combobox скрыть строку ввода, и чтобы первый item был виден на этой строке


1-52611
StelZ
2001-12-31 13:59
2002.01.17
Модальная форма


3-52495
kat
2001-12-11 12:23
2002.01.17
---|Ветка была без названия|---




   Наверх