如何实现在一个窗体中点击按钮后关闭本窗体,打开新窗体?多谢了。好像比vb复杂多了。
解决方案 »
- 求 DevExpress 控件 cxgrid 导 excel 2007函数
- 数组-创建的动态组件释放问题
- 生死悠观,你觉得这叫自杀还是她杀?
- 如何在局域网里的一台普通电脑上运行iw的standalone(即exe文件)?
- 急啊,一个有两层明细表的问题 高手请看!
- 请问用鼠标左键点击ListBox控件的垂直滚动条或者上下箭头触发什么事件?
- 用什么制作帮助文件
- 关于SQL-SERVER中建帐号的问题?
- 请问有没有计时的控件?
- 请教一个关于STORED PROCEDURE的问题
- file not found 'ppBands.dcu'是什么问题?
- beginThread与CreateThread的区别
定义里加:
private
const
WM_JOINCLICK = WM_USER+2;
close事件里写:
PostMessage(FormMain.Handle,WM_JOINCLICK,0,StrToInt(self.RzEditAuctionNo.Text));主窗体里加:
定义:
private
const
WM_JOINCLICK = WM_USER+2;
public
procedure WndProc(var message: TMessage); override;加代码:
procedure TFormMain.WndProc(var message: TMessage);
begin
if message.Msg=WM_JOINCLICK then begin
创建你的新窗体
exit;
end; inherited WndProc(message);
end;新窗体没建完,这个窗体又要关,容易出现内存错误,上面做的原因是:老窗体在关闭是给主窗体发个消息,表示我要关了。这个消息是异步的。主窗体收到这个消息再去创建新窗体就没问题了。前一段我也是遇到这样的问题,所以才这样去解决。
我是初学delphi,问题说的不清楚。
准确是程序首先启动flash窗体,显示欢迎界面,当用户在欢迎界面中单击鼠标后,欢迎窗体被关闭,显示主窗体。
frmFlash: TFormFlash;
begin
frmFlash := TFormFlash.Create(Application);
frmFlash.ShowModal;
Application.CreateForm(TFormMain, FormMain);
Application.Run;
end;
frmSplash.Show;
frmSplash.Update;
Application.CreateForm(TDMDCM, DMDCM);
Application.CreateForm(TLocalDAO, LocalDAO);
Application.CreateForm(TfrmMain, frmMain);
Application.CreateForm(TfmPopupTree, fmPopupTree);
Application.CreateForm(TfmPopupKATree, fmPopupKATree);
Application.CreateForm(TPersQueryForm, PersQueryForm);
Application.CreateForm(TEmployerQueryForm, EmployerQueryForm);
Application.CreateForm(TFrm_JSQuery, Frm_JSQuery);
frmSplash.Close;
frmSplash.Free;
Application.Run;
以上代码用于加载过程中显示frmSplash,加载完毕时,关闭frmSplash 窗体