delphi 如何改变主窗体
也就是我想用代码使一个非主窗体变为主窗体mdi父窗体需要为主窗体才能用现在我有两个mdi父窗体我想根据需要启用一个就要把那个启用的设为主窗体application.cre...
也就是我想用代码使一个非主窗体变为主窗体
mdi父窗体需要为主窗体才能用 现在我有两个mdi父窗体 我想根据需要启用一个 就要把那个启用的设为主窗体
application.creatform()只是创建窗体 不是设置主窗体。
我需要的是能够使一个非主窗体变为主窗体 使原来的主窗体变为非主窗体
是在代码中进行变更的方法
假设3个窗体 form1,form2,form3 form2和form3是mdi父窗体
我现在在form1中进行判断 if a情况 then application.creatform(tform2,form2) else application.creatform(tform3,form3) 但这样的主窗体是form1 而不是我想要的form2或form3 而且就算在main form中设置一个窗体(form2或form3)为主窗体,也不能达到我想要的效果 我需要的是 if a情况 则form2为主窗体 else form3为主窗体 展开
mdi父窗体需要为主窗体才能用 现在我有两个mdi父窗体 我想根据需要启用一个 就要把那个启用的设为主窗体
application.creatform()只是创建窗体 不是设置主窗体。
我需要的是能够使一个非主窗体变为主窗体 使原来的主窗体变为非主窗体
是在代码中进行变更的方法
假设3个窗体 form1,form2,form3 form2和form3是mdi父窗体
我现在在form1中进行判断 if a情况 then application.creatform(tform2,form2) else application.creatform(tform3,form3) 但这样的主窗体是form1 而不是我想要的form2或form3 而且就算在main form中设置一个窗体(form2或form3)为主窗体,也不能达到我想要的效果 我需要的是 if a情况 则form2为主窗体 else form3为主窗体 展开
3个回答
展开全部
在工程选项里设置就可以了
工程->选项->FORMS->Main Forms设置一下就可以了
你可以在工程文件里修改下,工程->查看工程源
rogram Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};
{$R *.res}
begin
Application.Initialize;
if 情况A then //这里设置你自己的条件
begin
Application.CreateForm(TForm1, Form1);
end
else ;
Application.CreateForm(TForm2, Form2);
Application.Run;
end.
工程->选项->FORMS->Main Forms设置一下就可以了
你可以在工程文件里修改下,工程->查看工程源
rogram Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};
{$R *.res}
begin
Application.Initialize;
if 情况A then //这里设置你自己的条件
begin
Application.CreateForm(TForm1, Form1);
end
else ;
Application.CreateForm(TForm2, Form2);
Application.Run;
end.
2015-08-12 · 知道合伙人数码行家
关注
展开全部
举个ScaleBy的例子吧,这个例子会使窗口中的控件随窗口宽度的大小而变化。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls;
type
TForm1 = class(TForm)
RichEdit1: TRichEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormResize(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
OldWidth:Integer;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Pos('dke',Richedit1.Lines.Text);
end;
procedure TForm1.FormResize(Sender: TObject);
begin
form1.ScaleBy(Self.Width,OldWidth);
OldWidth:=Self.width;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
OldWidth:=Self.width;
end;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls;
type
TForm1 = class(TForm)
RichEdit1: TRichEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormResize(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
OldWidth:Integer;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Pos('dke',Richedit1.Lines.Text);
end;
procedure TForm1.FormResize(Sender: TObject);
begin
form1.ScaleBy(Self.Width,OldWidth);
OldWidth:=Self.width;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
OldWidth:=Self.width;
end;
end.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Application.CreateForm这个是创建主窗体的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询