home *** CD-ROM | disk | FTP | other *** search
- unit vkeys;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- StdCtrls;
-
- (* Borland's list of Virtual Key Values...
- vk_LButton = $01;
- vk_RButton = $02;
- vk_Cancel = $03;
- vk_MButton = $04; { NOT contiguous with L & RBUTTON }
- vk_Back = $08;
- vk_Tab = $09;
- vk_Clear = $0C;
- vk_Return = $0D;
-
- vk_Shift = $10;
- vk_Control = $11;
- vk_Menu = $12;
- vk_Pause = $13;
- vk_Capital = $14;
- vk_Escape = $1B;
- vk_Space = $20;
- vk_Prior = $21;
- vk_Next = $22;
-
- vk_End = $23;
- vk_Home = $24;
- vk_Left = $25;
- vk_Up = $26;
- vk_Right = $27;
- vk_Down = $28;
- vk_Select = $29;
- vk_Print = $2A;
- vk_Execute = $2B;
- vk_SnapShot = $2C;
- { vk_Copy = $2C not used by keyboards }
-
- vk_Insert = $2D;
- vk_Delete = $2E;
- vk_Help = $2F;
- { vk_A thru vk_Z are the same as their ASCII equivalents: 'A' thru 'Z' }
- { vk_0 thru vk_9 are the same as their ASCII equivalents: '0' thru '9' }
- \par \par \par \par \par \par
- vk_NumPad0 = $60;
- vk_NumPad1 = $61;
- vk_NumPad2 = $62;
- vk_NumPad3 = $63;
- vk_NumPad4 = $64;
- vk_NumPad5 = $65;
- vk_NumPad6 = $66;
- vk_NumPad7 = $67;
- vk_NumPad8 = $68;
- vk_NumPad9 = $69;
-
- vk_Multiply = $6A;
- vk_Add = $6B;
- vk_Separator = $6C;
- vk_Subtract = $6D;
- vk_Decimal = $6E;
- vk_Divide = $6F;
- vk_F1 = $70;
- vk_F2 = $71;
- vk_F3 = $72;
- vk_F4 = $73;
- vk_F5 = $74;
-
- vk_F6 = $75;
- vk_F7 = $76;
- vk_F8 = $77;
- vk_F9 = $78;
- vk_F10 = $79;
- vk_F11 = $7A;
- vk_F12 = $7B;
- vk_F13 = $7C;
- vk_F14 = $7D;
- vk_F15 = $7E;
-
- vk_F16 = $7F;
- vk_F17 = $80;
- vk_F18 = $81;
- vk_F19 = $82;
- vk_F20 = $83;
-
- vk_F21 = $84;
- vk_F22 = $85;
- vk_F23 = $86;
- vk_F24 = $87;
- vk_NumLock = $90;
- vk_Scroll = $91;
- *)
-
- type
- TForm1 = class(TForm)
- Memo1: TMemo;
- Button1: TButton;
- Button2: TButton;
- Button3: TButton;
- Label1: TLabel;
- Button4: TButton;
- Button5: TButton;
- procedure Memo1KeyDown(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- procedure Button1KeyDown(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- procedure FormKeyDown(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- Form1: TForm1;
-
- implementation
-
- {$R *.DFM}
-
- procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- begin
- case(Key) of
- vk_Right : Key := vk_Left;
- vk_Left : Key := vk_Right;
- end;
- end;
-
- procedure TForm1.Button1KeyDown(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- begin
- if Key = vk_F1 then ShowMessage('Message From Button1 -> This is Button One!');
- end;
-
- procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- begin
- if Key = vk_F1 then
- ShowMessage('Message from Form1 -> This is ' + ActiveControl.name )
- else if Key = vk_F2 then
- if ssCtrl in Shift then
- begin
- MessageDlg('Don''t say I didn''t warn you!',
- mtWarning, [mbOK], 0);
- Close;
- end
- else
- if MessageDlg('Are you sure you want to quit?',
- mtConfirmation, [mbYes, mbNo], 0) = mrYes then
- Close;
- end;
-
- end.
-