社区
C++ Builder
帖子详情
请问两个showmodal出来的窗口,焦点如何控制?
huche
2004-03-22 09:32:11
用BCB写的程序,如果我同时ShowModal了两个以上的窗口,经常会出现焦点跑到了后面一个窗口,而不是最上面的窗口,而这时只能操作最上面的窗口,这就导致矛盾,所以界面无法操作。
这时候只能通过切换到别的应用程序,再切换回这个应用程序,那个获得焦点的窗口就回到最上面了。
但是用VC写的程序就不会有这个问题,请问这个BCB的问题该如何解决啊?
...全文
338
23
打赏
收藏
请问两个showmodal出来的窗口,焦点如何控制?
用BCB写的程序,如果我同时ShowModal了两个以上的窗口,经常会出现焦点跑到了后面一个窗口,而不是最上面的窗口,而这时只能操作最上面的窗口,这就导致矛盾,所以界面无法操作。 这时候只能通过切换到别的应用程序,再切换回这个应用程序,那个获得焦点的窗口就回到最上面了。 但是用VC写的程序就不会有这个问题,请问这个BCB的问题该如何解决啊?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Samme
2004-07-13
打赏
举报
回复
你可以在这两个FORM中的OnClose事件中写上Action=caFree;
在OnDeactivate事件中写上Close();
这样在你ShowModal第二个FORM时,第一个被ShowModal的FORM就会自动关闭
13571863167
2004-07-13
打赏
举报
回复
同时ShowModal了两个以上的窗口
??
kmfangxun
2004-07-13
打赏
举报
回复
楼主试试这样:
在设计时将Form2的FormStyle设为fsStayOnTop;
或者在Form2的构造函数里设置.
还可以在Form2的OnShow事件里加入:Form2->BringToFront();
我以前也碰到过你说的情况,这样做后就解决了.
linqier
2004-07-12
打赏
举报
回复
关注,
我遇到的问题也是,能同时显示两个Form1,谁知道怎么解决呀。
constantine
2004-07-12
打赏
举报
回复
用多线程吧,没有听过!你给我的感觉就是程序很奇怪,要别人超作一个就够了
yuwenshen
2004-07-12
打赏
举报
回复
你试一试这样呢
TForm1 *form1 = new TForm1(this);
form1->ShowModal();
delete form1;
在form1还没有关闭时,在某个事件中又运行了如下代码:
TForm2 *form2 = new TForm2(this);
form2->ShowModal();
delete form2;
yuwenshen
2004-07-12
打赏
举报
回复
不会吧,我写的代码与你的情况一样啊,没有你说的样子啊?
可以说的详细一点吗?
xjp6688
2004-07-12
打赏
举报
回复
ShowMdoal();
与
Show();
有什么区别呀?
EraserPeople
2004-07-12
打赏
举报
回复
是多线程吧?
robbyzi
2004-07-12
打赏
举报
回复
在主窗口中运行了如下代码:
TForm1 *form1 = new TForm1(MainForm);
form1->ShowModal();
delete form1;
在form1还没有关闭时,在某个事件中又运行了如下代码:
TForm2 *form2 = new TForm2(MainForm);
form2->ShowModal();
delete form2;
//------------------------------------------
你举的例子辑逻上已经是错误的了。
你说的在某个事件上又把Form2来ShowModal,但是这时Form1已经处于ShowModal状态。
MainForm根本就不会响应任何操作事件,那么Form2怎么可以ShowModal呢?还是这时已经将
Form1已经关闭了?
kmfangxun
2004-07-12
打赏
举报
回复
搂主:
那您就关闭Form2,不就可以操作Form1了。
EraserPeople
2004-07-12
打赏
举报
回复
TForm2 *form2 = new TForm2(MainForm);
把FormStyle改成fsStayOnTop
form2->ShowModal();
delete form2;
这样试试
huche
2004-04-20
打赏
举报
回复
举个例子吧:
在主窗口中运行了如下代码:
TForm1 *form1 = new TForm1(MainForm);
form1->ShowModal();
delete form1;
在form1还没有关闭时,在某个事件中又运行了如下代码:
TForm2 *form2 = new TForm2(MainForm);
form2->ShowModal();
delete form2;
这时form2应该在form1上面吧,焦点也在form2上面。
但是经常会在程序运行过程中form1把form2给遮住了,但焦点却还在form2上,这时根本无法操作程序界面。只能通过切换到别的应用程序,再切换回这个应用程序,form2就回到最上面了。
你们没有遇到这种情况么?
int64
2004-03-23
打赏
举报
回复
是不是能够改为show然后将show后的代码写入show出窗体的关闭事件中?
是个好办法
tccsdn
2004-03-23
打赏
举报
回复
我也不知道你是怎么能同时SHOWMODAL 两个窗口的啊?????????
thp
2004-03-22
打赏
举报
回复
可以控制窗体的初始位置,不要让两个窗体重叠在一起不就可以了。
痞子酷
2004-03-22
打赏
举报
回复
ShowModal
该为Show()
netsys2
2004-03-22
打赏
举报
回复
试试
Form2->SetFocus();
jiangchun_xn
2004-03-22
打赏
举报
回复
如果我同时ShowModal了两个以上的窗口
---------------------------------
你是怎么同时的?线程?
fjye
2004-03-22
打赏
举报
回复
先把FormStyle改成fsStayOnTop
然后改成visible为true
加载更多回复(3)
在Jenkins中Svn Publisher插件的使用
Svn Publisher插件介绍:构建完成后的文件,比如Maven打的war包,可以通过SVN Publisher Plugin插件上次到指定的SVN。 一、jenkins安装本地插件 在插件管理中选择上传插件 安装完成之后就可以在已安装的插件中找到它 二、配置设置 在系统管理-系统配置下,Global SVN Publisher Settings下配置自己svn的用户名和密码...
jenkins svn publisher插件使用手册
1.安装好svn publisher plugins 2.配置 1)点击参数化构建过程,选择svn parameter,然后配置如下图 2.点击增加构建后操作步骤,选择svn publisher,配置如下图:
jenkins的SVN Publisher 插件
目的: 提交本地文件到SVN库中 原理: 通过SVN delete 与 SVN import 来完成的。 配置: 1.系统配置 在“Global SVN Publisher Settings”中设置用户名与密码。 2.JOB配置: 在“增加构建后配置”中增加“Publish to Subversion repository ” SVN URL:要提交的仓库地址...
Jenkins配置自动构建项目并提交到转测的svn服务器
首先需要在Jenkins服务器上安装subversion版本管理工具,详见另外一篇文章: http://blog.csdn.net/z8414/article/details/77896052 方法一:通过命令行方式构建提交到svn ==============以下代码粘贴在Jenkins Shell构建命令中,红色部分需要根据实际情况修改=============== ve
使用jenkins进行一键式部署项目
1:下载jenkins.war 2:将war放入tomcat启动,即可访问jenkins 3:首次进入需要安装插件,好像需要翻墙 4:安装完以后,注册用户 5:安装 maven插件和svn插件 maven 插件搜:Maven Integration plugin svn 插件搜:SVN Publisher plugin 6:设置maven和jd
C++ Builder
13,871
社区成员
102,696
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章