Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 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);
...




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.17;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.027 c
3-52480           grab                  2001-12-14 20:05  2002.01.17  
как закачать в stringgrid данные из Excel


1-52525           Beat                  2001-12-27 10:21  2002.01.17  
TIcon 16x16 а не 32x32?


1-52535           tovSuhov              2001-12-27 16:04  2002.01.17  
Люди! Совсем запутался.


1-52564           $DM                   2001-12-28 15:26  2002.01.17  
FastReport 2.44. Ребята помогите!!! Не получается скрыть мемо поле с помощью скрипта.


3-52463           Wladimir              2001-12-14 07:50  2002.01.17  
Множественное удаление записей в таблице