Главная страница
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.016 c
3-55389
Sword
2003-06-22 17:29
2003.07.17
Связь двух таблиц


3-55443
stone
2003-06-24 13:41
2003.07.17
Как програмно создать поле Float?


1-55622
simeon
2003-07-03 19:26
2003.07.17
Немодальные формы, caFree и if Assign(MyForm) ...????


1-55556
MSAlex
2003-07-06 00:06
2003.07.17
TTreeView. Как графически выделить елемент под мышкой.?


3-55453
Rel_
2003-06-24 13:58
2003.07.17
Создание таблицы