控制窗体的'关闭'按钮 |
答題得分者是:deity
|
bigdogchina
版主 發表:238 回覆:523 積分:312 註冊:2003-04-28 發送簡訊給我 |
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi, 寫在 Form 的 OnClose Event 上
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin IF Application.MessageBox(PChar('是否確定離開?' ),'離開確認',MB_ICONINFORMATION MB_YESNO MB_DEFBUTTON2) = ID_YES then Action := caFree else Action := caNone; end;---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman |
bigdogchina
版主 發表:238 回覆:523 積分:312 註冊:2003-04-28 發送簡訊給我 |
|
terrychen
尊榮會員 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
|
bigdogchina
版主 發表:238 回覆:523 積分:312 註冊:2003-04-28 發送簡訊給我 |
对不起,大大们,我没有把问题描述清楚,这是我的错,劳您们费心了
完整的问题是这样的:我两个窗体,一个主窗体 class="code">
procedure TForm2.Button2Click(Sender: TObject);
begin
Application.Terminate;
end; procedure TForm2.Button1Click(Sender: TObject);
begin
...................... //执行检查密码的功能
Close();
end;
可是我发现如果直接按下窗体上的'关闭'按钮就会直接关闭Form2而进入Form1,
从而绕过密码的检查,令人心惊肉跳!所以我想在Form2上的'关闭'按钮上下文章,
能控制它,响应我自己的Event。
我是初学者,对问题的描述不是很清楚,希望大大们原谅新手的幼稚 < class="code">
===============
人生在勤,不索何获?
===============
------
人生在勤,不索何获? |
terrychen
尊榮會員 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
|
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
bigdogchina你好:
看了你上次问的题,你无非是想在进入主窗体是进行一次密码登陆
主窗体对应Form1;
登陆窗体对应Form2;
不知我有没有猜错,如果没有的话,你可以对照下面的写法,看看你的程式,那里有搞错的:
首先将Form2设为available forms
unit1.pas
要先uses unit2;
procedure TForm1.FormCreate(Sender: TObject);
begin
with Tform2.Create(Self) do
begin
try
if showmodal<>mrok then
Application.Terminate;
finally
Free;
end;
end; end;
unit2.pas
uses unit1;
procedure TForm2.Button2Click(Sender: TObject);
begin
Application.Terminate;
end; procedure TForm2.Button1Click(Sender: TObject);
begin
...................... //执行检查密码的功能
if 密码不正确 then
modalresult:=mrno
else
modalresult:=mrok
end;
dpr code
program Project1; uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2}; {$R *.res} begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
对照下,找找错误,试试看。 ——行径窄处,留一步与人行——
|
jest0024
高階會員 發表:11 回覆:310 積分:224 註冊:2002-11-24 發送簡訊給我 |
引言: 大大们好,又有问题麻烦您们了 一般的窗体上都有3个系统按钮:最小化,最大化/还原,关闭。 现在我想对'关闭'按钮单独控制,让它响应我自定义的事件,可是我不知道该从那里下手 在 class="code"> =============== 人生在勤,不索何获? ===============攔劫WM_SYSCOMMAND訊息 procedure WMSYSEVENT(var Msg:TMessage);message WM_SYSCOMMAND; procedure TForm1.WMSYSEVENT(var Msg:TMessage); begin inherited; Case Msg.WParam of SC_CLOSE:;//關閉按鍵的處理 end; end; |
bigdogchina
版主 發表:238 回覆:523 積分:312 註冊:2003-04-28 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |