Форум: "Начинающим";
Текущий архив: 2009.12.20;
Скачать: [xml.tar.bz2];
ВнизОтображение кода функциональной клавиши Найти похожие ветки
← →
Norgan (2009-11-01 21:48) [0]Добрый день уважаемые мастера!
Есть у меня одно подзадание:
"Создать поля Label1 и Label2 в Unit2 для отображения названия и кода нажатой функциональной клавиши. Если клавиша не функциональная, в заголовок Label1 должно появляться специальное сообщение."
Но проблема в том, что программа ни как не реагирует на нажатия клавиш. Параметр KeyPreview включен в форме.
Подскажите, пожалуйста, где я допускаю ошибку. Заранее Вам благодарен!unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, jpeg, Unit2;
type
TMyProgram = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Image1: TImage;
Panel1: TPanel;
ListBox1: TListBox;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
MyProgram: TMyProgram;
implementation
{$R *.dfm}
procedure TMyProgram.Button1Click(Sender: TObject);
begin
close;
end;
procedure TMyProgram.Button3Click(Sender: TObject);
begin
ListBox1.Sorted:=true;
end;
procedure TMyProgram.Button2Click(Sender: TObject);
begin
ListBox1.Items.Add(Edit1.text);
Edit1.Text:="";
end;
procedure TMyProgram.Button4Click(Sender: TObject);
var x,y,z:integer;
begin
x:=strtoint(Edit2.Text);
y:=strtoint(Edit3.Text);
z:=x+y;
Edit4.Text:=inttostr(z);
end;
procedure TMyProgram.Button5Click(Sender: TObject);
var x,y,z:integer;
begin
x:=strtoint(Edit2.Text);
y:=strtoint(Edit3.Text);
z:=x-y;
Edit4.Text:=inttostr(z);
end;
procedure TMyProgram.Button6Click(Sender: TObject);
var x,y,z:integer;
begin
x:=strtoint(Edit2.Text);
y:=strtoint(Edit3.Text);
z:=x*y;
Edit4.Text:=inttostr(z);
end;
procedure TMyProgram.Button7Click(Sender: TObject);
var x,y,z:real;
begin
x:=strtoint(Edit2.Text);
y:=strtoint(Edit3.Text);
z:=x/y;
Edit4.Text:=floattostr(z);
end;
procedure TMyProgram.Button8Click(Sender: TObject);
begin
Form2.show;
end;
end.unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
procedure FormKeyUp(Sender: TObject; var Key: Word;Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key in [VK_F1..VK_F24]) then
Label1.Caption := "Нажата клавиша F"+IntToStr(Key - VK_F1 + 1)
else
Label1.Caption := "Нажата не функциональная клавиша!";
end;
end.
← →
brother © (2009-11-02 10:32) [1]> procedure TForm2.FormKeyUp(Sender: TObject; var Key: Word;
>
> Shift: TShiftState);
> begin
> if (key in [VK_F1..VK_F24]) then
> Label1.Caption := "Нажата клавиша F"+IntToStr(Key - VK_F1
> + 1)
> else
> Label1.Caption := "Нажата не функциональная клавиша!";
>
> end;
D6 - код работает нормально!
← →
Anatoly Podgoretsky © (2009-11-02 10:55) [2]OnFormKeyUp := FormKeyUp;
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.12.20;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c