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

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

Как назначить клавишу Enter для DBCtrlGrid чтобы ShowModal? [D6]


Kadastr ©   (2003-06-04 10:33:00) 

Люди, Помогите! Кликом мыши по строке DBCtrlGrid перевожу ADOTable в режим редактирования, открываю модальную форму и произвожу изменения в строке таблицы. Клавишу Enter никак не могу под это дело приспособить... В Object Inspector в Events может что...

procedure TForm1.DBCtrlGrid1EditKeyPress(Sender: TObject; VAR KEY: Char);
begin
DataModule3.ADOTable1.Edit;
CASE Key OF
"t" : Form2.ShowModal;
end;
end.


Kadastr   (2003-06-04 15:03:00) [1]

Заработало-о-о-о-о-о!!!

В Object Inspector в Events в OnKeyDown :
EditKeyPress

Огромное спасибо Sandman25 и AlexSepr!!!
Имя процедуры поменял... :)

Последний вариант:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, dbcgrids, StdCtrls, DBCtrls, DB, ADODB;

type
TForm1 = class(TForm)
DBCtrlGrid1: TDBCtrlGrid;
DBText1: TDBText;
DBText2: TDBText;
DBText3: TDBText;
procedure EditKeyPress(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

uses Unit2, Unit3;

{$R *.dfm}


procedure TForm1.EditKeyPress(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
IF (key = VK_RETURN) then
begin
DataModule3.ADOTable1.Edit;
Form2.ShowModal;
end;
end;
end.


Sandman25   (2003-06-04 14:47:00) [2]

AlexSerp © (04.06.03 14:38)

Я решил, что он так и сделал, но назвал обработчик VK_RETURN :)


AlexSerp   (2003-06-04 14:38:00) [3]

Зачем надо было процедуру создавать -
procedure VK_RETURN(Sender: TObject; var Key: Word;
Shift: TShiftState);

Надо было в OnKeyDown
IF Key = VK_RETURN then Form2.ShowModal;


Sandman25   (2003-06-04 14:36:00) [4]

Назовите процедуру иначе, не VK_RETURN :)


Kadastr   (2003-06-04 14:30:00) [5]

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, dbcgrids, StdCtrls, DBCtrls, DB, ADODB;

type
TForm1 = class(TForm)
DBCtrlGrid1: TDBCtrlGrid;
DBText1: TDBText;
DBText2: TDBText;
DBText3: TDBText;
procedure VK_RETURN(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

uses Unit2, Unit3;

{$R *.dfm}


procedure TForm1.VK_RETURN(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
IF Key = VK_RETURN then Form2.ShowModal;

end;

end.


AlexSerp   (2003-06-04 14:25:00) [6]

Весь код дай.
THEN , что он " Not enough actual parameters "- него нет параметров. Не туда смотришь.


Kadastr   (2003-06-04 14:21:00) [7]

Кричит на THEN , что он " Not enough actual parameters "


Sandman25   (2003-06-04 14:15:00) [8]

if Key = VK_RETURN then Form2.ShowModal;


AlexSerp   (2003-06-04 14:00:00) [9]

Дай свой код.


Kadastr   (2003-06-04 13:27:00) [10]

У кого нибудь есть такой оператор? Ничего у меня не выходит с IF THEN...


Sandman25   (2003-06-04 12:08:00) [11]

Да


Kadastr   (2003-06-04 12:03:00) [12]

Ставлю в OnKeyDown VK_RETURN, Enter работает, но и все стрелки курсора обращают к модальной форме, писать Условный оператор IF (Условие) THEN?


Sandman25   (2003-06-04 11:31:00) [13]

OnKeyDown


Kadastr   (2003-06-04 11:12:00) [14]

А как и куда это дело прописать: Key = VK_RETURN ?


AlexSerp   (2003-06-04 10:44:00) [15]

Key = VK_RETURN


Наверх

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