对话框ShowModal之后不能操作其它窗口,实际上是因为Windows Disable了其它窗口。所以当你需要在模态对话框中访问其它已经可见的窗口时,需要用EnableWindow API来激活对应的窗口。

例如:

form2.showmodal;

在form2的OnShow事件中:

enablewindow(form1.handle,true);

如何使用Show方法来显示一个模态窗口

 

 

  我们知道在Delphi中显示一个窗口有两种方式,模态方式显示(ShowModal)和非模态方式显示(Show),模态方式显示窗口时,必须在自身关闭后才能使父窗口起作用,但有时我们想要实现一个窗口,既要具有模态窗口的特性,但又要能从父窗口中控制它,如显示一个表示处理进行过程的进度框。利用DisableTaskWindows和 EnableTaskWindows 可以达到这一效果。

  下面是演示实现程序:

procedure TForm1.ShowProgressDlg;

var

WindowList: Pointer;

begin

{除了Form2外使所有窗口无效}

WindowList := DisableTaskWindows(Form2.Handle);

try

Form2.Show;

{循环执行任务}

Form2.ProgressBar1.Position :=

Form2.ProgressBar1.Position + 1;

{循环结束}

finally

{重新使所有窗口有效}

EnableTaskWindows(WindowList);

Form2.Close;

end;

end;

使窗体Showmodal后可以操作其他窗体

字体大小: 中小 标准 ->行高大小: 标准  
 
 
01 对话框ShowModal之后不能操作其它窗口,实际上是因为Windows Disable了其它窗口。所以当你需要在模态对话框中访问其它已经可见的窗口时,需要用EnableWindow API来激活对应的窗口。
02  
03 例如:
04  
05 form2.showmodal;
06  
07 在form2的OnShow事件中:
08  
09 enablewindow(form1.handle,true);
10  
11 如何使用Show方法来显示一个模态窗口
12  
13  
14  
15  
16  
17   我们知道在Delphi中显示一个窗口有两种方式,模态方式显示(ShowModal)和非模态方式显示(Show),模态方式显示窗口时,必须在自身关闭后才能使父窗口起作用,但有时我们想要实现一个窗口,既要具有模态窗口的特性,但又要能从父窗口中控制它,如显示一个表示处理进行过程的进度框。利用DisableTaskWindows和 EnableTaskWindows 可以达到这一效果。
18  
19   下面是演示实现程序:
20  
21 procedure TForm1.ShowProgressDlg;
22  
23 var
24  
25 WindowList: Pointer;
26  
27 begin
28  
29 {除了Form2外使所有窗口无效}
30  
31 WindowList := DisableTaskWindows(Form2.Handle);
32  
33 try
34  
35 Form2.Show;
36  
37 {循环执行任务}
38  
39 Form2.ProgressBar1.Position :=
40  
41 Form2.ProgressBar1.Position + 1;
42  
43 {循环结束}
44  
45 finally
46  
47 {重新使所有窗口有效}
48  
49 EnableTaskWindows(WindowList);
50  
51 Form2.Close;
52  
53 end;
54  
55 end;

最新文章

  1. 数字信号处理--FFT
  2. java基础 数组15
  3. 1.SQL语句入门
  4. PHP 多维数组 Key Value的使用
  5. 线段树的区间更新---A Simple Problem with Integers
  6. ArcGIS中定义图框样式
  7. 【mysql】关于Index Condition Pushdown特性
  8. Kafka集群模式部署
  9. Android ADB 端口占用问题解决方案
  10. 每日陌生php函数
  11. AngularJs学习笔记1——入门知识
  12. Java经典编程题50道之四十一
  13. BotVS配置托管者-基于新浪云
  14. 如何在工程中使用axis2部署webservice
  15. bzoj 4515: [Sdoi2016]游戏
  16. Leetcode_237_Delete Node in a Linked List
  17. Uniform Resource Name Server
  18. SpringBoot(十三)-- 不同环境下读取不同配置
  19. Redis实战(一)CentOS 7上搭建redis-3.0.2
  20. R语言设置write.table()输出的文件格式

热门文章

  1. 通俗解释IOC原理
  2. [bzoj2186][Sdoi2008]沙拉公主的困惑——数论
  3. 关于jQuery.extend
  4. Settings点击Location(位置)后右上角的开关button不会消失
  5. python基础===socket模块的讲解(转)
  6. gcc升级方法
  7. picker鼠标上下拖动选择内容
  8. poj 1584(综合性强的计算几何,好题)
  9. redis特性与使用场景
  10. MyEclipse的破解代码,适用各个版本