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

Вниз

Формат ячеек в 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
4-55895
hammich
2003-05-14 12:03
2003.07.17
Что не так в процедуре ? ПОДСКАЖИТЕ она эмулирует щелчок мыши


7-55872
-Sesh-
2003-04-17 13:05
2003.07.17
Delphi & TVTuner


3-55464
RH
2003-06-25 13:02
2003.07.17
Работа с dbf-ками


14-55718
Alex_x
2003-07-02 10:11
2003.07.17
Написание Хелпов


14-55767
AndrewVolkov
2003-07-03 01:26
2003.07.17
DBLookupComboBox очистка поля