Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.09;
Скачать: CL | DM;

Вниз

события в RunTime   Найти похожие ветки 

 
Илья_С   (2007-09-17 14:26) [0]

Уважаемые мастера.
Как присвоить FEdit событие ONKeyDown.
Вот пример:

program App;

uses
 Windows,
 Forms,
 StdCtrls,
 Graphics,
 Classes,
 Controls,
 SysUtils,
 Messages,
 Main_u in "Main_u.pas" {Main_f};

{$R *.res}

const
  Afr = 9825;

var
  sOld:TForm;
  FLab:TLabel;
  FKey:Boolean;
  FEdit:TEdit;
  FOK,FCancel:TButton;
  FOKClick,FCancelClick:TNotifyEvent;

procedure OKClick;
begin
  if FEdit.Text = Inttostr(Afr) then
  begin
     FKey:=True;
     sOld.Close;
  end else
     Application.Terminate;
end;

procedure CancelClick;
begin
  FKey:=False;
  Application.Terminate;
end;

begin
 Application.Initialize;
 Application.CreateHandle;
 FKey:=False;
 sOld:=TForm.Create(nil);
 sOld.Position:=poScreenCenter;
 sOld.BorderStyle:=bsToolWindow;
 sOld.Caption:="Îãðàíè÷åíè&#229 ; äîñòóïà";
 sOld.Height:=100;
 sOld.Width:=285;
 sOld.KeyPreview:=True;
 FLab:=TLabel.Create(nil);
 FLab.Parent:=sOld;
 Flab.Left:=5;
 FLab.Top:=5;
 Flab.Font.Style:=[FSBold];
 Flab.Font.Name:="Tahoma";
 Flab.Caption:="Ââåäèòå àâòîðèçèðîâàí&# 237;ûé êëþ÷ !";
 Flab.Update;
 FEdit:=TEdit.Create(nil);
 FEdit.Parent:=sOld;
 FEdit.Left:=5;
 FEdit.Top:=20;
 FEdit.Width:=270;
 FEdit.PasswordChar:="*";
 FEdit.OnKeyDown ??????
 Если идти через TMethod - ошибка.

 FCancel:=TButton.Create(nil);
 FCancel.Parent:=sOld;
 FCancel.Height:=21;
 FCancel.Caption:="&Îòìåíà";
 FCancel.Top:=48;
 FCancel.Left:=sOld.Width-FCancel.Width-10;
 FOK:=TButton.Create(nil);
 FOK.Parent:=sOld;
 FOK.Height:=21;
 FOK.Caption:="&OK";
 FOK.Top:=48;
 FOK.Left:=sOld.Width-FOK.Width-10-FCancel.Width-5;
 TMethod(FOKClick).Data:=nil;
 TMethod(FOKClick).Code:=@OKClick;
 TMethod(FCancelClick).Data:=nil;
 TMethod(FCancelClick).Code:=@CancelClick;
 FOK.OnClick:=FOKClick;
 FCancel.OnClick:=FCancelClick;
 sOld.ShowModal;
 FLab.Free;
 FEdit.Free;
 FOK.Free;
 sOld.Free;
 if not FKey then
 begin
  Application.Terminate;
  Exit;
 end;
 Application.CreateForm(TMain_f, Main_f);
 Application.MainForm.WindowState:=wsMaximized;
 Application.Run;


 
DVM ©   (2007-09-17 14:36) [1]

что за бред?


 
DVM ©   (2007-09-17 14:37) [2]

зачем все в файл проекта запихал?


 
Denis_ ©   (2007-09-17 14:49) [3]


> program App

неужели специально так назвал, типа шутка юмора? :D


 
Anatoly Podgoretsky ©   (2007-09-17 14:54) [4]

> Denis_  (17.09.2007 14:49:03)  [3]

Насколько хватило интеллекта.


 
DrPass ©   (2007-09-17 15:07) [5]


>  Application.Initialize;
>  Application.CreateHandle;


>  TMethod(FOKClick).Data:=nil;
>  TMethod(FOKClick).Code:=@OKClick;


>   Application.Terminate;
>   Exit;

С ума сойти... Все равно что браться считать интегралы, не научившись таблице умножения...


 
Суслик ©   (2007-09-17 15:10) [6]


>  [5] DrPass ©   (17.09.07 15:07)
> >  TMethod(FOKClick).Data:=nil;
> >  TMethod(FOKClick).Code:=@OKClick;

кстати ничего ужасного - работать то будет :)


 
DrPass ©   (2007-09-17 15:14) [7]


> Суслик ©   (17.09.07 15:10) [6]

Работать-то будет. Но зачем применять хаки, если не знаешь элементарных вещей?


 
DVM ©   (2007-09-17 15:21) [8]

Если исправить немного то работать оно будет. Но зачем городить такой странный огород только для того, чтобы вывести форму с двумя кнопками (форма ввода пароля), когда все это можно сделать по-человечески?



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

Текущий архив: 2007.12.09;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.025 c
2-1194838802
d@nger
2007-11-12 06:40
2007.12.09
Jpeg и дата съемки


2-1195002111
evn
2007-11-14 04:01
2007.12.09
Как написать программу:Замена символов на другие символы


15-1194440114
Polevi
2007-11-07 15:55
2007.12.09
Тормозит компьютер


15-1194723363
Dib@zol
2007-11-10 22:36
2007.12.09
Количество символов в DWORD-переменной


2-1194869688
Kick
2007-11-12 15:14
2007.12.09
Проблема с TStringList