請教一個MDI的問題 |
尚未結案
|
dengguo
一般會員 發表:41 回覆:49 積分:23 註冊:2004-01-09 發送簡訊給我 |
|
terrychen
尊榮會員 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
|
hahalin
版主 發表:295 回覆:1698 積分:823 註冊:2002-04-14 發送簡訊給我 |
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi: 1.在 Porject --> Options... 的 Forms TAB 中,將所有的 MDIChild 移到右邊的 Available forms 中,如此,程式即不會自動幫你建立 MDIChild
2.確定 MDIChild 的 BorderIcons.biSystemMenu 設為 True,如此 MDIChild 方會有最小化、最大化、關閉之 Button --------------------------------
小弟才疏學淺,若有謬誤請不吝指教
--------------------------------
------
Fishman |
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
[project]
program Project1; uses
Forms,
Unit1 in 'Unit1.pas' {Form1}; {$R *.res} begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end. [unit1]
unit Unit1; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus; const usermsg=wm_user+001;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
open1: TMenuItem;
procedure open1Click(Sender: TObject);
private
procedure closeform(var msg:Tmessage);message usermsg;
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1; implementation uses Unit2; {$R *.dfm}
procedure TForm1.closeform(var msg: Tmessage);
begin
if msg.WParam=1 then
if form2.Active then form2.Free ;
end; procedure TForm1.open1Click(Sender: TObject);
begin
Application.CreateForm(TForm2, Form2);
form2.show;
end;
end. [unit2]
unit Unit2; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
const usermsg=wm_user 001;
type
TForm2 = class(TForm)
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form2: TForm2; implementation uses Unit1; {$R *.dfm} procedure TForm2.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
postmessage(form1.handle,usermsg,1,0);
end; end. 上面两位的方法合并起来就可以了,我给您的方法是:
工程启动后,有菜单创建
通过消息来实现关闭效果,并且也释放了这个窗体。
|
hahalin
版主 發表:295 回覆:1698 積分:823 註冊:2002-04-14 發送簡訊給我 |
|
dengguo
一般會員 發表:41 回覆:49 積分:23 註冊:2004-01-09 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |