窗体form1上有一个按钮,点击按钮后,弹出另一个窗体form2。如何写代码,实现这样的功能:只有关闭窗体form2,才能激活窗体form1。也就是说,窗体form2始终挡在窗体form1前面,不管怎么移动窗体1,都无法用鼠标激活窗体form1。
解决方案 »
- 大哥哥,大姐姐,大于127的16进制(比如E7),串口控件就发不出去,我该怎么处理才能发送出去啊?
- MaskEdit组件编写
- 请教一个字符串处理问题,关于......大家都会有兴趣的!
- 用Qreport做报表,不足一页时怎样用空行补满,但不想用临时表。
- 关于打开钱箱问题,先给50分,如果谁解决了,再单独给分,以免浪费!!!!!
- 为AC米半兰夺冠高兴!!!散分!!!
- 请问我怎么才能Up一个帖子????——改版后我也没见过‘帖子提前连接’!
- 请问如何建立窗体级的变量
- 关于在窗口中用回车代代替TAB和当移动到焦点时变为另外一种颜色
- richedit中,delphi中如何实现居中等功能。
- 如何让系统和应用程序交互
- 北京招聘:诚聘Delphi程序员
在form2的onclose事件里写 form1.enabled:=true;
----------
哈哈,那是~~~相当~~~大啊~
--------------------------------------------------------------------------------
showmodal 显示的是模态窗口,也就是说显示后除非关闭这窗口,否则不会切换到同一个应用程序的其它窗口
--------------------------------------------------------------------------------
TCustomForm是Windows窗口(一般窗口与对话框)的基类。它有两个显示窗口的方法:Show()和ShowModal()分别用来显示非模态与模态的窗口。不过,它对于模态窗口的实现并没有利用Windows系统提供的DialogBox()之类的API,而是VCL自己实现的。
Show()和ShowModal()的具体实现。
先是Show():
procedure TCustomForm.Show;
begin
Visible := True;
BringToFront;
end;
Show()的代码非常简单,而且易懂,它的行为与其名称一样的单纯。
---------------------------------------------
VCL中的模态窗口是通过接管线程主消息循环来实现的,只是它的退出循环条件是ModalResult <> 0(ModalResult初始值为0)
-------以上内容转自《delphi搞手突破》