Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.30;
Скачать: CL | DM;

Вниз

Как назначить клавишу Enter для DBCtrlGrid чтобы ShowModal?   Найти похожие ветки 

 
Kadastr ©   (2003-06-04 10:33) [0]

Люди, Помогите! Кликом мыши по строке 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.


 
AlexSerp ©   (2003-06-04 10:44) [1]

Key = VK_RETURN


 
Kadastr ©   (2003-06-04 11:12) [2]

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


 
Sandman25 ©   (2003-06-04 11:31) [3]

OnKeyDown


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

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


 
Sandman25 ©   (2003-06-04 12:08) [5]

Да


 
Kadastr ©   (2003-06-04 13:27) [6]

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


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

Дай свой код.


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

if Key = VK_RETURN then Form2.ShowModal;


 
Kadastr ©   (2003-06-04 14:21) [9]

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


 
AlexSerp ©   (2003-06-04 14:25) [10]

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


 
Kadastr ©   (2003-06-04 14:30) [11]

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.


 
Sandman25 ©   (2003-06-04 14:36) [12]

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


 
AlexSerp ©   (2003-06-04 14:38) [13]

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

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


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

AlexSerp © (04.06.03 14:38)

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


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

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

В 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.



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

Текущий архив: 2003.06.30;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.024 c
6-97767
Dober_m@N
2003-04-12 04:57
2003.06.30
как узнать IP если их несколько на 1 компьютере


11-97577
slipper
2002-10-15 17:16
2003.06.30
API and KOL


3-97548
_Andrew_
2003-06-07 02:05
2003.06.30
Ускорение поиска


14-97888
kronprince
2003-06-13 13:51
2003.06.30
Может ли это быть случайностью ???


1-97674
Serg!!™™
2003-06-17 14:20
2003.06.30
Form