Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.45 MB
Время: 0.004 c
1-52578
bit
2001-12-29 09:59
2002.01.17
ScanLine


3-52481
Дима
2001-12-14 19:38
2002.01.17
Как обойтись без BDE


1-52563
greenrul
2001-12-26 21:57
2002.01.17
Баннерный движок - посоветуйте, как осуществить


1-52546
VitHouse
2001-12-27 10:25
2002.01.17
Не, ну вообще прикл...


14-52655
marconi
2001-11-22 11:19
2002.01.17
Active list





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский