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

Вниз

StringGrid.Canvas   Найти похожие ветки 

 
killer ©   (2004-05-20 01:18) [0]

Хочу сделать заголовок таблицы посередине... делаю я так...

if ARow=0 then
 begin
 if (ACol=1) or (ACol=2) then
   begin
   StringGrid1.Canvas.FillRect(Rect);
   SetBkMode(Handle, TRANSPARENT);
   SetTextAlign(Handle, TA_CENTER);
   StringGrid1.Canvas.TextOut(Rect.Left + (Rect.Right - Rect.Left - StringGrid1.Canvas.TextWidth(Text)) div 2, Rect.Top+2 , StringGrid1.Cells[ACol, ARow]);
   end;
 end;

так вот у меня 2-й столбел прорисовывается посередине... нормально.... а надпись третьего почему-то оказывается на 2-м столбце справа... что мне делать?


 
DHDD   (2004-05-20 04:28) [1]

if arow=0 then begin
      grid.canvas.FillRect(rect);
      grid.canvas.TextOut(rect.left+(rect.Right-rect.Left-grid.canvas.TextWidth(grid.cells[acol,arow])) div 2,rect.top+2,grid.cells[acol,arow]);
   end;


 
ЮЮ ©   (2004-05-20 05:01) [2]

К чему SetTextAlign, если место вывода строки вычисляется в StringGrid1.Canvas.TextOut? Может это побочный эффект?

Если текст не входит в ширину третьего столбца, то он будет писаться по первому. Центрировать стоит лишь, если
Rect.Right - Rect.Left > StringGrid1.Canvas.TextWidth(Text). И что такое Text в этом месте?



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

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

Наверх




Память: 0.47 MB
Время: 0.053 c
8-1079372591
Unn
2004-03-15 20:43
2004.05.30
Компонента с wav


14-1084011192
Drakon
2004-05-08 14:13
2004.05.30
С днём победы!


6-1081419374
-=Demon=-
2004-04-08 14:16
2004.05.30
Контрольная Сумма


9-1075756241
Lucky[ELF]
2004-02-03 00:10
2004.05.30
Перевод цвета из 24 бит в 16 бит


14-1084526464
Карелин Артем
2004-05-14 13:21
2004.05.30
Где взять бесплатный невидимый счетчик на страницу?