社区
C++ Builder
帖子详情
请问两个showmodal出来的窗口,焦点如何控制?
huche
2004-03-22 09:32:11
用BCB写的程序,如果我同时ShowModal了两个以上的窗口,经常会出现焦点跑到了后面一个窗口,而不是最上面的窗口,而这时只能操作最上面的窗口,这就导致矛盾,所以界面无法操作。
这时候只能通过切换到别的应用程序,再切换回这个应用程序,那个获得焦点的窗口就回到最上面了。
但是用VC写的程序就不会有这个问题,请问这个BCB的问题该如何解决啊?
...全文
283
23
打赏
收藏
请问两个showmodal出来的窗口,焦点如何控制?
用BCB写的程序,如果我同时ShowModal了两个以上的窗口,经常会出现焦点跑到了后面一个窗口,而不是最上面的窗口,而这时只能操作最上面的窗口,这就导致矛盾,所以界面无法操作。 这时候只能通过切换到别的应用程序,再切换回这个应用程序,那个获得焦点的窗口就回到最上面了。 但是用VC写的程序就不会有这个问题,请问这个BCB的问题该如何解决啊?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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)
js模态
窗口
JSer.
mo
dal
Dialog模态
窗口
是JSer脚本框架的功能扩展,用于在网页中弹出一个小窗,同时网页的其它内容被此
窗口
灰色背景遮住,在关闭模态
窗口
之前,用户不能操作页面上的其它内容。
对话框与父
窗口
之间数据共享的C_Builder编程
对话框与父
窗口
之间数据共享的C_Builder编程。在推出对话框后,父
窗口
的响应问题。
xheditor-1.1.14
2. xhEditor进阶使用 2.1. 进阶使用指导 2.2. 初始化参数列表 2.3. API函数接口列表 2.4. 上传程序开发规范 2.5. 插件开发指南 2.6. 皮肤设计指南 2.7. 关于二次开发 2.1. 进阶使用指导 阅读本章节请先阅读:xhEditor入门基础,若你已经熟悉xhEditor的基本使用,请往下继续。 xhEditor提供两种方式初始化编辑器: 方法1:利用class属性来初始化和传递各种初始化参数,例: class="xheditor {skin:'default'}" 方法2:利用xhEditor提供的jQuery插件接口来实现对特定textarea的初始化和传递参数,例: $('#elm1').xheditor(); 或者 $('#elm1').xheditor({tools:'mini'}); 特别说明:两种初始化方法只能选择其中一种使用,如果两种方法的代码同时存在页面中,方法2的代码不会有任何效果。 我们更倾向于推荐大家使用方法1,因为更简单易用,不涉及任何的Javascript代码。通过简单的参数设置即可定制各种效果的编辑器界面,简单易用且功能强大。 如果想实现更加复杂的交互应用,或者希望xhEditor编辑器能够和自己的Javascript代码实现互相访问,那么你可以选择使用方法2,相对具有更大的自由空间。 xhEditor也提供了即时的卸载编辑器方法: $('#elm1').xheditor(false); 2.2. 初始化参数列表 初始化参数示例代码: $('#elm1').xheditor({tools:'full',skin:'default',showBlocktag:true,internalScript:false,internalStyle:false,width:300,height:200,loadCSS:'http://xheditor.com/test.css',fullscreen:true,source
Mo
de:true,forcePtag:true,upImgUrl:"upload.php",upImgExt:"jpg,jpeg,gif,png"}); 初始化参数列表: tools:自定义工具按钮 参数值:full(完全),mfull(多行完全),simple(简单),mini(迷你) 或者自定义字符串,例如:'Cut,Copy,Paste,Pastetext,|,Source,Fullscreen,About' 完整按钮表: |:分隔符 /:强制换行 Cut:剪切 Copy:复制 Paste:粘贴 Pastetext:文本粘贴 Blocktag:段落标签 Fontface:字体 FontSize:字体大小 Bold:粗体 Italic:斜体 Underline:下划线 Strikethrough:中划线 FontColor:字体颜色 BackColor:字体背景色 SelectAll:全选 Re
mo
veformat:删除文字格式 Align:对齐 List:列表 Outdent:减少缩进 Indent:增加缩进 Link:超链接 Unlink:删除链接 Anchor:锚点 Img:图片 Flash:Flash动画 Media:Windows media player视频 Hr:插入水平线 E
mo
t:表情 Table:表格 Source:切换源代码模式 Preview:预览当前代码 Print:打印 Fullscreen:切换全屏模式 About:关于xhEditor skin:皮肤风格选择 参数值:default(默认风格),o2007blue(Office 2007 蓝色),o2007silver(Office 2007 银色),vista(Vista),nostyle(NoStyle) layerShadow:阴影的深度(按钮面板和模式
窗口
的背景阴影) 参数值:0(不显示阴影),大于0的数值(显示阴影并设置阴影的深度) clickCancelDialog:点击任意位置取消按钮面板功能 参数值:默认true(开启点击取消功能),false(关闭点击取消功能,必需要点击“取消”按钮才能关闭按钮面板) showBlocktag:显示段落标签 参数值:true(显示段落标签),false(不显示) linkTag:样式链接link标签保留状态 参数值:true(保留样式链接link标签),false(清理样式链接link标签) internalScript:内部JS代码保留状态 参数值:true(保留内部JS代码),false(清理内部JS代码) inlineScript:内联JS代码保留状态 参数值:true(保留内联JS代码)
遮罩层点击按钮弹出并且具有拖动和关闭效果(两种方法)
实现点击按钮弹出遮罩层,点击按钮可以随意拖动和关闭。接下来,通过本篇文章给大家介绍遮罩层点击按钮弹出并且具有拖动和关闭效果,需要的朋友可以参考下
Show
mo
dal
与Show的区别
Show
mo
dal
是个函数,Show是个过程 1.Show
mo
dal
: 概念: 当你调用一个
窗口
用SHOW
MO
DAL
时,当这个
窗口
显示出来后,程序不会继续自己执行,而是根据你对这个
窗口
的操作来执行,只有关闭了这个
窗口
后才会执行。 属性: FormStyle改为fsNormal,visible改为false 2.Show: 概念: S
C++ Builder
13,871
社区成员
102,693
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章