Форум: "Основная";
Текущий архив: 2006.03.05;
Скачать: [xml.tar.bz2];
ВнизКлавиши Найти похожие ветки
← →
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
endunit 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 вся ветка
Форум: "Основная";
Текущий архив: 2006.03.05;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.011 c