Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1257108059
GreyWolf
2009-11-01 23:40
2009.12.20
Аналог ShowModal для свернутого в трей приложения


15-1255799077
interrupt
2009-10-17 21:04
2009.12.20
неполадки монитора


15-1255892869
POOP
2009-10-18 23:07
2009.12.20
Как в mathcad e решить линейное уравнение?


4-1225373404
Vayrus
2008-10-30 16:30
2009.12.20
Восстановление прав доступа


6-1210676882
MishaLuk
2008-05-13 15:08
2009.12.20
работа с базой по сети





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский