Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.07.17;
Скачать: [xml.tar.bz2];

Вниз

Формат ячеек в StringGrid   Найти похожие ветки 

 
Lexa2504   (2003-06-24 10:07) [0]

Уважаемые знатоки, у меня в программе данные выводятся при помощи StringGrid. Для "красоты оформления" программы нужно, чтобы одни ячейки были одного шрифты, "жирные" и выровнены влево, другие - наобарот, все по-другому ... Как это осуществить? И возможно ли это сделать этим компонентом?


 
Соловьев   (2003-06-24 10:12) [1]

лови событие
TDrawCellEvent = procedure (Sender: TObject; ACol, ARow: Longint; Rect: TRect; State: TGridDrawState) of object;
property OnDrawCell: TDrawCellEvent;

(Sender as TStringGrid).Canvas....


 
Семен Сорокин   (2003-06-24 10:13) [2]

надо обрабатывать OnDrawCell


 
Lexa2504   (2003-06-24 10:36) [3]

Если я делаю на OnDrawCell так :
If (ACol=0) Or (ARow=0) Then
begin
(Sender as TStringGrid).canvas.Font.Style:=[fsBold];
end
else
begin
(Sender as TStringGrid).canvas.Font.Style:=[fsItalic];
end;
то не видно никакого результата

Если без canvas
If (ACol=0) Or (ARow=0) Then
begin
(Sender as TStringGrid).Font.Style:=[fsBold];
end
else
begin
(Sender as TStringGrid).Font.Style:=[fsItalic];
end;
то на форме нет половины компонентов и StringGrid "дрожит" ...


 
Семен Сорокин   (2003-06-24 10:41) [4]

with TstringGrid(Sender) do
if (ACol=0) Or (ARow=0) Then begin
Canvas.Font.Style := [fsBold];
Canvas.TextOut(Rect.Left+2, Rect.Top+2, Cells[ACol, ARow])
end
else begin
Canvas.Font.Style := [fsItalic];
Canvas.TextOut(Rect.Left+2, Rect.Top+2, Cells[ACol, ARow])
end;


 
NAlexey   (2003-06-24 10:44) [5]

Щас насчет фона будет пост наверное...


 
Lexa2504   (2003-06-24 10:50) [6]

Спасибо, все получилось.
Последний глупый вопрос, выравнивание можно как-то сделать или только таким "макаром" - Rect.Left+2, Rect.Top+2 ?


 
Семен Сорокин   (2003-06-24 10:53) [7]

Lexa2504 (24.06.03 10:50)
вычисли середину Rect"a, вычти половину длины печатаемого текста Canvas.textHeight(...) div 2, твари и создавай :))


 
Anatoly Podgoretsky   (2003-06-24 11:02) [8]

SetTextAlign не устроит?


 
Lexa2504   (2003-06-24 11:16) [9]

Семен Сорокин ©
Canvas.TextHeight(Cells[ACol, ARow])
Почему-то, и для "23" и для "8" дает одну цифру =20.
Шрифт - MS Sans Serif.


 
Sandman25   (2003-06-24 11:24) [10]

Lexa2504 (24.06.03 11:16)
TextWidth



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.07.17;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.008 c
14-55745
Dmitriy O.
2003-07-02 08:01
2003.07.17
Почему женщина ни когда не будет на Марсе.


14-55832
APTEMKA
2003-06-30 23:55
2003.07.17
можно ли определить сходу, принадлежит к Фибоначи


14-55765
Dimka Maslov
2003-07-02 14:02
2003.07.17
ALC comes back


1-55570
Andrey02
2003-07-02 01:37
2003.07.17
Измениить большое количество Excel.Application на WorkBook


6-55688
velsi
2003-05-13 11:13
2003.07.17
idFTPserver





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский