社区
Delphi
帖子详情
MDI子窗体如何实现ShowModal??为什么MDI子窗体调用ShowModal失败!!!请进帮忙!!
喜欢编程朋友
2005-07-14 11:36:24
如何在MDI窗体下面实现子窗体的showmodal的效果,因为如果调用子窗体的showmodal就会显示出错,这是什么原因???请高手帮忙解决!!多谢了!!!!
...全文
238
6
打赏
收藏
MDI子窗体如何实现ShowModal??为什么MDI子窗体调用ShowModal失败!!!请进帮忙!!
如何在MDI窗体下面实现子窗体的showmodal的效果,因为如果调用子窗体的showmodal就会显示出错,这是什么原因???请高手帮忙解决!!多谢了!!!!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
天行归来
2006-06-08
打赏
举报
回复
无意间也碰到此问题,此问题是可以解决的,虽此帖已结账,还是想贴出来,希望能给让后来者提供参考。
说明:FormStyle 为 MDIChild 对象窗口本身的确是不可ShowModal,所以我们需要在窗体创建之后作一些处理,步骤如下:
1、设计时,设置窗体的 FormStyle=fsNormal,同时设置 Visible=FALSE。
2、重载你的窗口的Create构造函数,并作一下处理。
constructor Create(AOwner: TComponent; OwnerStyle: TFormStyle); reintroduce; virtual;
constructor TXXForm.Create(AOwner: TComponent; OwnerStyle: TFormStyle);
begin
inherited Create(self);
FormStyle := OwnerStyle;
Visible := OwnerStyle=fsMDIChild;
end;
xxForm.Create(self,fsNormal)
xxForm.ShowModal;
xxForm.Free;
if xxForm=nil then xxForm.Create(self,fsMDIChild);
xxForm.Show;
conis
2005-09-16
打赏
举报
回复
解决方案
1.将子窗口(SubForm)FormStyle设置为fsNormal,并将Visable设置为False
2.在Mdi窗口的事件中写如下代码:
var
SubForm: TSubForm;
begin
SubForm := TSubForm.Create(nil);
SubForm.ShowModal;
end;
问题可以得到解决
如果子窗口本身为MDIChild,创建后将FormStyle设置为fsNormal,应该可以解决问题,但我没有试过,只是理论上可行
xx_adam
2005-07-14
打赏
举报
回复
MDI本来就是要求同时能显示多窗口,而用了showmodal只能显示一个窗口,那不是矛盾吗?
seekmydoom
2005-07-14
打赏
举报
回复
因为如果调用普通子窗体的showmodal不会错的,showmodal的窗体不能是字窗体类型
wlbfeihu
2005-07-14
打赏
举报
回复
有事能行的话就不是MDI了
就是SDI了
wzg1031
2005-07-14
打赏
举报
回复
MDI窗体中不能showmodal
窗体
设计
窗体
设计
窗体
设计
窗体
设计
窗体
设计
窗体
设计
窗体
设计
窗体
设计
窗体
设计
窗体
设计
窗体
设计
窗体
设计
窗体
设计
窗体
设计
窗体
设计
窗体
设计
窗体
设计
窗体
设计
窗体
设计
窗体
设计
窗体
设计
计算机考试系统(VB)
这是一个较全面的包含了VB开发知识的程序源码工程,其中设计到用户验证检测、信息加载、数据库
调用
、多窗设计、多窗切换。
test_delphi.rar_delphi 界面_界面 delphi_界面设计
delphi下的多界面工具 很好用!我自己设计的! 如何在一个界面中装载另外一个界面!
delphi
子
窗体
关闭时如何触发主
窗体
的事件
我习惯用事件驱动。
MDI
子
窗体
里申明一个事件,在主
窗体
里
实现
这个事件过程。然后在创建
MDI
子
窗体
的时候,赋值这个事件。
MDI
退出的时候,触发一下这个事件。 例如: T
MDI
Form=... private FOn
MDI
Event:TNotifyEvent; public propertyFOn
MDI
Event:TNOtifyEventreadFOn
MDI
Eventw...
调用
封装在DLL内的
子
窗体
摘 要 使用动态连接库(DLL)可以将资源、函数、过程等封装,同样也可以将系统需要
调用
的
子
窗体
封装起来,在需要时
调用
。不仅能够节省系统资源,同时也有利于整个软件的模块化处理。Delphi是Windows操作系统中流行的快速开发工具,可以方便的创建和
调用
动态连接库。本文中,介绍了使用Delphi来完成在动态连接库中封装及
调用
子
窗体
的完整过程。 关键词 封装 动态连接库
子
窗体
Delphi ...
Delphi
5,928
社区成员
262,931
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章