Форум: "Основная";
Текущий архив: 2007.12.09;
Скачать: [xml.tar.bz2];
Внизсобытия в 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:="Îãðàíè÷åíèå ; äîñòóïà";
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.041 c