uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, Menus, WinSkinData;type
TMainForm = class(TForm)
SkinData1: TSkinData;
ToolBar1: TToolBar;
ToolButton2: TToolButton;
ToolButton1: TToolButton;
ToolButton3: TToolButton;
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
MainForm: TMainForm;implementation{$R *.dfm}
uses Unit2, Unit3;
procedure TMainForm.ToolButton1Click(Sender: TObject);
begin
lockwindowupdate(handle);
if not assigned(InputForm) then
begin
InputForm:=TInputForm.Create(self);
InputForm.Width:=MainForm.ClientWidth;
InputForm.Height:=MainForm.ClientHeight;
InputForm.Top:=0;
InputForm.Left:=0;
if InputForm.WindowState<>wsMaximized then InputForm.WindowState:=wsMaximized;
end else
begin
InputForm.Width:=MainForm.ClientWidth;
InputForm.Height:=MainForm.ClientHeight;
InputForm.Top:=0;
InputForm.Left:=0;
if InputForm.WindowState<>wsMaximized then InputForm.WindowState:=wsMaximized;
InputForm.setfocus;
end;
lockwindowupdate(0);
end;procedure TMainForm.ToolButton2Click(Sender: TObject);
begin
lockwindowupdate(handle);
if not assigned(ViewForm) then
begin
ViewForm:=TViewForm.Create(self);
ViewForm.Width:=MainForm.ClientWidth;
ViewForm.Height:=MainForm.ClientHeight;
ViewForm.Top:=0;
ViewForm.Left:=0;
if ViewForm.WindowState<>wsMaximized then ViewForm.WindowState:=wsMaximized;
end else
begin
ViewForm.Width:=MainForm.ClientWidth;
ViewForm.Height:=MainForm.ClientHeight;
ViewForm.Top:=0;
ViewForm.Left:=0;
if ViewForm.WindowState<>wsMaximized then ViewForm.WindowState:=wsMaximized;
ViewForm.setfocus;
end;
lockwindowupdate(0);
end;end.显示子窗体时我是这样写的(介荐别人的),但现在有个问题:
1)、assigned(ViewForm)这个地方,在我关闭子窗体后再打开子窗体时显示就会出错(子窗体我已经cafree了),请问为什么?如何解决?
2)、如果没有关闭的情况我在打开这个子窗体后,这个子窗体的标题按钮丢失,一定要再双击该子窗体的标题头才恢复。如何解决?
3)、我想把这个子窗体内容显示在panel中,也就是parent为panel不过在上述语句中无法显示子窗体,BringToFront也没有反应,请问如何解决?三个问题在线等待,解决后立即给分。谢了各位。
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, Menus, WinSkinData;type
TMainForm = class(TForm)
SkinData1: TSkinData;
ToolBar1: TToolBar;
ToolButton2: TToolButton;
ToolButton1: TToolButton;
ToolButton3: TToolButton;
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
MainForm: TMainForm;implementation{$R *.dfm}
uses Unit2, Unit3;
procedure TMainForm.ToolButton1Click(Sender: TObject);
begin
lockwindowupdate(handle);
if not assigned(InputForm) then
begin
InputForm:=TInputForm.Create(self);
InputForm.Width:=MainForm.ClientWidth;
InputForm.Height:=MainForm.ClientHeight;
InputForm.Top:=0;
InputForm.Left:=0;
if InputForm.WindowState<>wsMaximized then InputForm.WindowState:=wsMaximized;
end else
begin
InputForm.Width:=MainForm.ClientWidth;
InputForm.Height:=MainForm.ClientHeight;
InputForm.Top:=0;
InputForm.Left:=0;
if InputForm.WindowState<>wsMaximized then InputForm.WindowState:=wsMaximized;
InputForm.setfocus;
end;
lockwindowupdate(0);
end;procedure TMainForm.ToolButton2Click(Sender: TObject);
begin
lockwindowupdate(handle);
if not assigned(ViewForm) then
begin
ViewForm:=TViewForm.Create(self);
ViewForm.Width:=MainForm.ClientWidth;
ViewForm.Height:=MainForm.ClientHeight;
ViewForm.Top:=0;
ViewForm.Left:=0;
if ViewForm.WindowState<>wsMaximized then ViewForm.WindowState:=wsMaximized;
end else
begin
ViewForm.Width:=MainForm.ClientWidth;
ViewForm.Height:=MainForm.ClientHeight;
ViewForm.Top:=0;
ViewForm.Left:=0;
if ViewForm.WindowState<>wsMaximized then ViewForm.WindowState:=wsMaximized;
ViewForm.setfocus;
end;
lockwindowupdate(0);
end;end.显示子窗体时我是这样写的(介荐别人的),但现在有个问题:
1)、assigned(ViewForm)这个地方,在我关闭子窗体后再打开子窗体时显示就会出错(子窗体我已经cafree了),请问为什么?如何解决?
2)、如果没有关闭的情况我在打开这个子窗体后,这个子窗体的标题按钮丢失,一定要再双击该子窗体的标题头才恢复。如何解决?
3)、我想把这个子窗体内容显示在panel中,也就是parent为panel不过在上述语句中无法显示子窗体,BringToFront也没有反应,请问如何解决?三个问题在线等待,解决后立即给分。谢了各位。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货