Текущий архив: 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.44 MB
Время: 0.049 c