Форум: "Базы";
Текущий архив: 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