1 (edited by pha1984 2015-05-25 06:53:11)

Topic: Помогите с проектом

В ниже приведенном коде событие key=38 и key-40 срабатывает а событие frmVibratKod1_TableGrid1_OnCellClick ('',0,0); не работает.
На гриде при нажатии на клавишу вниз и вверх строка выбирается но frmVibratKod1_TableGrid1_OnCellClick ('',0,0) не работает. Хочу отметить что при нажатии на строку мышкой все работает как надо, но я хочу чтобы она работала при нажатии клавиш вверх и вниз. Как реализовать?

procedure frmVibratKod1_OnShow (Sender: string; Action: string);
begin
frmVibratKod1.Edit1.Text:= NovayaForma.EdKod1.Text;
frmVibratKod1.Button1.Click;
frmVibratKod1.TableGrid1.SelectedRow:= 0;
frmVibratKod1_TableGrid1_OnCellClick ('',0,0);
end;

procedure frmVibratKod1_TableGrid1_OnCellClick (Sender: string; ACol, ARow: Integer);
begin
        frmVibratKod1.Edit2.Text:= frmVibratKod1.TableGrid1.Cells(1, ARow);
        frmVibratKod1.Edit3.Text:= frmVibratKod1.TableGrid1.Cells(2, ARow);
end;



procedure frmVibratKod1_TableGrid1_OnKeyDown (Sender: string; var Key: Word; Shift, Alt, Ctrl: boolean);
begin
if Key=13 then
begin
frmVibratKod1.Button2.Click;
frmVibratKod1.Close;
end;
if Key=27 then
begin
frmVibratKod1.Close;
end;
if Key=38 then
begin
frmVibratKod1_TableGrid1_OnCellClick ('',0,0);
end;
if Key=40 then
begin
frmVibratKod1_TableGrid1_OnCellClick ('',0,0);
end;
end;

Re: Помогите с проектом

Hello Pha1984

Did you place this instruction ?

begin
     Form1.KeyPreview := True;
end.

JB

Re: Помогите с проектом

замените эту строку в коде

frmVibratKod1_TableGrid1_OnCellClick ('',0,0);

на

frmVibratKod1_TableGrid1_OnCellClick ('',0,frmVibratKod1.TableGrid1.SelectedRow);
Dmitry.

Re: Помогите с проектом

jean.brezhonek
Yes I did.

Уважаемый Дмитрий
я написал как вы сказали
frmVibratKod1_TableGrid1_OnCellClick ('',0,frmVibratKod1.TableGrid1.SelectedRow);
заработало но не корректно,
при первом нажатии на клавишу вниз не срабатывает, при втором нажатии потом срабатывает

Re: Помогите с проектом

попробуйте OnKeyUp вместо OnKeyDown

Dmitry.

Re: Помогите с проектом

Спс, заработало