Вниз
Скачать: CL | DM;

Клавиши   Найти похожие ветки 

← →
HITMAN ©   (2006-01-31 21:23) [0]

Чем узнать какой у клавиши ключ, например enter = #13


← →
Fay ©   (2006-01-31 21:28) [1]

2 HITMAN ©   (31.01.06 21:23)
"ключ" - это что? Например #13 - это Char


← →
HITMAN ©   (2006-01-31 22:01) [2]

Так точно!
Мне вообще нужно узнать что под клавишей Delete ну и об остальных для жизни... не могу найти инфу негде.
давно у меня была программа - нажимаешь любую кнопку, а она в буфер сразу код кидает...


← →
Zeqfreed ©   (2006-01-31 22:10) [3]

HITMAN ©   (31.01.06 22:01) [2]

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

function CharToHex(const c : Char) : String;
begin
  Result := Format("$%2.2x", [Ord(c)]);
end;

begin
 with (Sender as TEdit) do
  Text := Text + CharToHex(Key);

 Key := #0;
end;


← →
HITMAN ©   (2006-01-31 22:16) [4]

Очень смешно, ладно если это   $0D Enter то покажите как будет в переводе кнопка Delete ??? (не срабатывает)


← →
Zeqfreed ©   (2006-01-31 22:34) [5]

HITMAN ©   (31.01.06 22:16) [4]
$08, должно срабатывать.
Format("$%2.2x", [Ord(c)]); замени на Format("#%d", [Ord(c)]); чтобы выводилось в формате Delphi.


← →
Игорь Шевченко ©   (2006-01-31 23:19) [6]


> как будет в переводе кнопка Delete


127, но она форме не передается.

В OnKeyDown/OnKeyUp клавиша Delete передается как VK_DELETE ($2E)

object fMain: TfMain
 Left = 192
 Top = 114
 Width = 548
 Height = 350
 Color = clBtnFace
 Font.Charset = DEFAULT_CHARSET
 Font.Color = clWindowText
 Font.Height = -11
 Font.Name = "MS Sans Serif"
 Font.Style = []
 KeyPreview = True
 OldCreateOrder = False
 OnKeyDown = FormKeyDown
 PixelsPerInch = 96
 TextHeight = 13
 object lbKeys: TListBox
   Left = 52
   Top = 68
   Width = 121
   Height = 189
   ItemHeight = 13
   TabOrder = 0
 end
 object emKey: TEdit
   Left = 52
   Top = 40
   Width = 121
   Height = 21
   TabOrder = 1
 end
end


unit main;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TfMain = class(TForm)
   lbKeys: TListBox;
   emKey: TEdit;
   procedure FormKeyDown(Sender: TObject; var Key: Word;
     Shift: TShiftState);
 end;

var
 fMain: TfMain;

implementation

{$R *.dfm}

procedure TfMain.FormKeyDown(Sender: TObject; var Key: Word;
 Shift: TShiftState);
begin
 emKey.Text := Format("VK_%.2x = %d", [Key, MapVirtualKey(Key, 2)]);
 if emKey.Text <> "" then
   lbkeys.Items.Add(emKey.Text);
end;

end.


← →
Плохиш ©   (2006-02-01 00:33) [7]


> не могу найти инфу негде

Для начала не мешало бы в справку посмотреть.


← →
Германн ©   (2006-02-01 01:44) [8]


> HITMAN ©   (31.01.06 22:16) [4]
>
> Очень смешно, ладно если это   $0D Enter то покажите как
> будет в переводе кнопка Delete ??? (не срабатывает)


Имхо, в OnKeyPress попадает только то, что было в печатной машинке. $0D  там был. Правда он был выполнен не виде клавиши, а в виде рычага! А вот $0A (LineFeed) как раз был клавишей. Там была даже клавиша Backspace, правда она сама не затирала символ слева, требовалось применение спецмазилки, чтобы "стереть", но возвращала каретку на один символ назад (но только на текущей строке!).
А вот Delete там точно не было, поскольку для этого не нужно было клавиш, достаточно только вышеупомянутой "спецмазилки". ИМХО.

Да. После небольшого перекура понял, что был не прав. Вышеупомянутый рычаг, на самом деле выполнял сразу два действия и CR и LF.


← →
HITMAN ©   (2006-02-01 11:47) [9]

Вот, что я искал, полезная штучка...

http://www.rvsn2.narod.ru/download/code.zip



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.024 c
3-1136474358
AlexLines
2006-01-05 18:19
2006.03.05
Как ускорить время поиска?


2-1140033420
49 Cent
2006-02-15 22:57
2006.03.05
Может ли Dbgrid отображать подтаблицу?


2-1140372864
sashaka
2006-02-19 21:14
2006.03.05
Как узнать дату?


15-1139839929
kaZaNoVa
2006-02-13 17:12
2006.03.05
Упаковщики EXE-файлов


15-1139677592
scorp123
2006-02-11 20:06
2006.03.05
Установка DSPac




   Наверх