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

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

Пробежка по ячейкам в StringGrid [D5, Win95/98, WinME]


zedalex ©   (2004-07-16 11:04:00) 

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


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

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


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

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


begin...end   (2004-07-16 11:27:00) [3]

OnKeyDown ?


NAlexey   (2004-07-16 11:26:00) [4]

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


Наверх

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