![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Merge в KOLmdvXLGrid - а как навесить на FormOnShow? [Delphi]
<Falcon> © (2003-09-05 13:15:00)Помогоите новичку! Не могу объеденить ячейки mdvXLGrid при показе формы. И почему при выделении ячеек мышой Merge работает, а например при Grid.SetSelectedRows[1] нет? Выдает RunTime Error 216 (Access violation)
Пробовал так:
R1:=Grid.CellToRect(0,0);
R2:=Grid.CellToRect(2,2);
R.TopLeft:=R1.TopLeft;
R.BottomRight:=R2.BottomRight;
Grid.Merge(R);
------------------------
Grid.SelectedRows[1]:=True;
Grid.Merge(Grid.Selected);
<Falcon> (2003-09-15 14:07:00) [1]Понял, осознал...Про зебру это я врубился с самого начала, поэтому пробовал только для одной строки. А с толку сбило то,
что при проверке произвольной ячейки из этой строки на "выделенность" выдавалось truе.
Спасибо! :)
mdw (2003-09-15 12:39:00) [2]>Grid.SelectedRows[1]:=True;
>Grid.Merge(Grid.Selected);
>трабл, помоему просто глюк в компоненте
Grid.Selected - это прямоугольник выделенный РАМКОЙ(одна или несколько ячеек).
При Grid.SelectedRows[1]:=True; Grid.Selected не мзменяется, т.к. можно написать еще и
Grid.SelectedRows[3]:=True;
Grid.SelectedRows[8]:=True;
Grid.SelectedСols[18]:=True;
и т.д...
и получается выделен не прямоугольник, а "зебра" какая-то, а тип Grid.Selected - TRect все таки.
Тут нужно:
XLGrid.Merge(MakeRect(0, 1, XLGrid.ColCount-1, 1));
или, если нужно с выделением:
XLGrid.Selected:= MakeRect(0, 1, XLGrid.ColCount-1, 1);
XLGrid.Merge(XLGrid.Selected);
<Falcon> (2003-09-11 13:27:00) [3]Да все до смешного просто оказалось. Переменыые в обоих случаях
TRect но Grid.CellToRect() выдает координаты четырехугольника
в пикселах. А для Merge() нужны координаты четырехугольника в таблице.
Вместо того что было выше пишем:
var
R : Trect;
begin
R.Left:=0;
R.Right:=2;
R.Top:=0;
R.Bottom:=2;
Grid.Merge(R);
end;
А вот с
Grid.SelectedRows[1]:=True;
Grid.Merge(Grid.Selected);
трабл, помоему просто глюк в компоненте (не уверен еще не копал внимательно :) )
savva (2003-09-11 10:16:00) [4]ну так решение здесь напиши - кому нибудь пригодится..
<Falcon> (2003-09-10 14:02:00) [5]Уже сам разобрался, но вроде и благодарить некого.