![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Объединение нескольких ячеек StringGrid a [D5, D6, Win95/98, WinME, Win2k, WinXP]
KIR © (2002-02-26 13:02:00)Народ, как можно объединить несколько ячеек в строке StringGrid"a и вывести в эту область содержимое первой из объединяемых ячеек с центровкой по центру?
lipskiy (2002-02-27 00:01:00) [1]Вариант, предлагаемый MBo, выводит один и тот-же текст во все ячейки, которые объединяются, но со смещением - кажется, что строчка одна и целая (если только я верно понял код :)
А как в таком случае ее редактировать, выделять? Опять руками все разрисовывать?
Нет ли принципиально иного похода?
MBo (2002-02-26 13:36:00) [2]что-нибудь эдакое?
procedure TForm1.sg1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var l:integer;
begin
if (arow=1) and (acol in [1..2]) then begin
if acol=1 then
rect.right:=rect.right+sg1.GridlineWidth+sg1.ColWidths[2];
if acol=2 then
rect.left:=rect.left-sg1.GridlineWidth-sg1.ColWidths[1];
sg1.canvas.fillrect(rect);
l:=(rect.right-rect.left-sg1.canvas.textwidth(sg1.cells[1,1])) div 2;
sg1.canvas.textout(rect.left+l,rect.top+2,sg1.cells[1,1]);
end;
end;
Григорий Ситнин (2002-02-26 13:21:00) [3]Рисовать руками