Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Объединение нескольких ячеек 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]

Рисовать руками


Наверх

Титульная страница Поиск, карта сайта Написать письмо