![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как назначить клавишу 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