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

Вниз

Как правильно прорисовать заголовок столбца StringGridа?   Найти похожие ветки 

 
Таня   (2004-06-17 13:55) [0]

Есть StringGrid с заголовком на две строки. Нужно в некотором столбце прорисовать заголовок (текст, картинка) на обе строчки.

Я для текста делаю так:

procedure TFormOU.SGDrawCell(Sender: TObject; ACol,  ARow: Integer; Rect: TRect; State: TGridDrawState);
var rec: TRect;
   h: integer;
begin
   if (state = [gdfixed]) and (arow < 2) then begin
         if ACol=2 then if Arow=0 then begin
               rec.Left := Rect.Left-1;
               rec.Top := rect.Top-1;
               rec.Right := rect.right+1;
               rec.Bottom := rect.bottom+1;
               SG.Canvas.Font.Color := clNavy;
               SG.Canvas.Font.Size := 9;
               SG.Canvas.Brush.Color := clBtnFace;
               SG.Canvas.FillRect(rec);
               h := SG.Canvas.TextWidth(SG.Cells[acol, arow]);
               h := rect.Left + Round((rect.Right-rect.Left)/2 - h/2);
               rec.Bottom:=2*(rec.Bottom-rec.Top)-1;
               SG.Canvas.TextRect(rec,h + 2, rec.Top +13, SG.Cells[acol, arow]);
            end else begin
               {ничего не делаю для второй ячейки}
            end
         else begin
            //прорисовка для других столбцов
            ...  
         end;
.....


Нижня ячека при этом всеравно налезает на текст, как правильно сделать?


 
TUser ©   (2004-06-17 16:13) [1]


> rec.Bottom:=2*(rec.Bottom-rec.Top)-1;

А эта строчка что делает? Вроде, должен поменяться rec, т.е. текст будет выводиться за пределами ячейки. Я не очень врубился, но если не ошибаюсь, то ошибка исчезнет, если назначить соответствующий RowHeights[0].


 
Таня   (2004-06-17 16:54) [2]

> rec.Bottom:=2*(rec.Bottom-rec.Top)-1; - Это я задаю высоты, чтобы rec на две ячейки был.

Как я понимаю RowHeights[0] действует на всю строку, а мне нужно только в определенном столбце.



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

Текущий архив: 2004.07.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.038 c
14-1087280962
DimKa
2004-06-15 10:29
2004.07.04
Сколько в кубометре байтов?


1-1087307697
Apocalepse
2004-06-15 17:54
2004.07.04
Срочно пожалуста, как сделать свою прогу поверх всех окон


1-1087801853
GrayFace
2004-06-21 11:10
2004.07.04
Как работать с интерфейсами?


1-1087538164
AngelSAI
2004-06-18 09:56
2004.07.04
Работа с рисунками


14-1087281894
gn
2004-06-15 10:44
2004.07.04
КРУПНЕЙШАЯ МАТЕМАТИЧЕСКАЯ ПРОБЛЕМА РЕШЕНА В ИНТЕРНЕТЕ