Содержание материала

Пользователь может перемещать строки и колонки StringGrid при помощи мышки. Можно ли это сделать программно? В описании TCustomGrid можно увидеть методы MoveColumn и MoveRow, однако они скрыты в TStringGrid. Но нам ничего не мешает просабклассить TStringGrid и объявить эти методы как public:

Code:

type

TStringGridX = class(TStringGrid)

public

   procedure MoveColumn(FromIndex, ToIndex: Longint);

   procedure MoveRow(FromIndex, ToIndex: Longint);

end;

 

Чтобы воспользоваться этими методами, достаточно вызвать соответствующий метод предка:

Code:

procedure TStringGridX.MoveColumn(FromIndex, ToIndex: Integer);

begin

inherited;

end;

 

procedure TStringGridX.MoveRow(FromIndex, ToIndex: Integer);

begin

inherited;

end;

 

 

Этот компонент не нужно регистрировать в палитре компонентов. Просто используйте потомка TStringGrid или любого TCustomGrid, и вызывайте его методы:

Code:

procedure TForm1.Button1Click(Sender: TObject);

begin

   TStringGridX(StringGrid1).MoveColumn(1, 3);

end;

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить