Вниз
Скачать: CL | DM;

Пробежка по ячейкам в StringGrid   Найти похожие ветки 

 
zedalex   (2004-07-16 11:04) [0]

Здравствуйте!! У меня такой вопрос: можно ли как-то программно
при работе в StringGridе при нажатии на пример на клавишу Таб перепрыгнуть через одну колонку, то есть пропустить ее и перейти к редактированию следующей? Очень нужно!! Не могу найти тип сообщения для этого действия. Помогите пожалуйста.
С уважением Александр


 
NAlexey ©   (2004-07-16 11:26) [1]

А какой тип может быть? Отлавливаешь нажатие клавиши в сетке, проверяешь если это таб, то Grid.Col := Grid.Col + 2;


 
begin...end ©   (2004-07-16 11:27) [2]

OnKeyDown ?


 
Леприкон ©   (2004-07-16 11:39) [3]

type
 TForm1 = class(TForm)
   StringGrid1: TStringGrid;
   procedure StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
     var CanSelect: Boolean);
   procedure FormCreate(Sender: TObject);
   procedure StringGrid1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
   DethCol:integer;
   znak:smallint;
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
 ARow: Integer; var CanSelect: Boolean);
begin
 if ACol=DethCol then znak:=Sign(ACol-StringGrid1.Col);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 DethCol:=2; //я взял второй столбец
end;

procedure TForm1.StringGrid1Click(Sender: TObject);
begin
 if StringGrid1.Col=DethCol then StringGrid1.Col:=StringGrid1.Col+znak;
end;

в uses добавь Math для Sign


 
zedalex   (2004-07-16 13:18) [4]

Спасибо я уже нашел как это сделать через массив
StringGrid1.TabStops. Я его как-то неприметил!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.021 c
6-1086263642
Term
2004-06-03 15:54
2004.08.01
Как определить имя рабочей группы т.е. локальные настройки???


14-1089463017
AlexG
2004-07-10 16:36
2004.08.01
Разработка программ на маленьком PC (корманном)


14-1089465018
VID
2004-07-10 17:10
2004.08.01
Как поднастроить файрвол (ZoneAlarm 4.5.538.001)


1-1089872424
Amid
2004-07-15 10:20
2004.08.01
Помогите !!!!! В процедуре Execute не работает Memo1.Lines.Add()


1-1089961123
Senator
2004-07-16 10:58
2004.08.01
многоязыковая поддержка




   Наверх