机房收费系统热火朝天的进行着,于此同时问题也是毫不留情的就来了,在MDI窗体中添加了picture控件后,子窗体不能显示就是我遇到的第一个问题。刚刚着手做系统遇到这样的问题,挺棘手的,当时在网上查过很多的资料,也没找到。今天在这里分享分享我解决这个问题的经验

经验一:这个办法用起来虽说子窗体显示了,但是我个人觉得有点偷懒。

子窗体不能显示出来,那是因为被picture控件给挡住了,那么怎么让它到前面来呢,我就想到了隐藏picture控件,于是在我需要显示其他窗体的时候,我就把picture隐藏,这样子窗体就出来了,然后在我关闭子窗体的时候,我在显示picture控件 。但这样做却有很多弊端,显示子窗体的时候,我就看不到主窗体上的内容了。于是我不得不找其他的办法 从根本上解决这个问题

经验二 :经过查找,我发现可以利用API函数来解决这个问题(结果是显而易见的,很有效)

所需要的API函数 :SetParen

具体做法:1. 首先我们要在相应的模块中声明这个函数,在VB6.0的API浏览器里面就可以找到这段声明的代码

Public Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

2.写好声明后就是应用的部分了,当我们单机MDI窗体上的菜单想要显示另一个子窗体时,我们在单机菜单的Click 事件中

按如下格式:SetParent frmInquireStudent.hWnd,frmMain.hWnd (这里我以我自己的代码为例子)

3.  格式:setParent 你要显示的子窗体名称.hWnd, MDI窗体(即你的MDI窗体名称).hWnd

4.  按照上面的三个步骤写好后,子窗体是显示了,但是显示的是和MDI主窗体一样大的一个边框,只有点击最大化时,才能全看到,这时我们九需要改变一下窗体的大小,在加载窗体时,用相应的代码来确定子窗体的大小  例如:

Me.Width = 数字

Me.Height= 数字

具体数字就很据自己的需要设定了  ,这样窗体就可以显示了。

既看到了子窗体,又看到了主窗体上的内容 ,感觉真是不错  !

在此也顺便写一下 SetParent 这个API 函数的用法

SetParent是一个API函数,它的作用是为一个物体指定一个新的父窗体。(父窗体严格来说应该是容器).也就是把一个物体转到另一个物体上去

Setparent

语法是:

Setparent 物体句柄,目标句柄

发现问题并解决问题,听起来似乎很煎熬,但身在其中的我却感觉到这是个享受的过程。每天都能收获新的知识,我想这些也在慢慢的充实着我,改变着我,并且会带给我巨大的财富吧。

MDI窗体与子窗体的显示问题--(如何让主窗体是被控件挡住的子窗体显示)相关推荐

  1. WPF获取当前用户控件的父级窗体

    方式一.通过当前控件名获取父级窗体Window targetWindow = Window.GetWindow(button);方式二.通过当前控件获取父级窗体Window parentWindow ...

  2. 使用button控件更改C#From窗体背景

    使用button控件更改C#From窗体背景 // // // // 在网上找了很多资料比如 this.BackgroundImage = Image.FromFile(@"图片路径&quo ...

  3. Scroll View 控件以Thumbnail的方式显示一个目录的全部图片,相似图片浏览器

    MAC : XCode -> Scroll View 控件以Thumbnail的方式显示一个目录的全部图片,类似图片浏览器 STEP1:将两个目录复制到project里面ImageBrowser ...

  4. qt中QHBoxLayout或QVBoxLayout布局内控件的动态生成与显示

    ---恢复内容开始--- qt中QHBoxLayout或QVBoxLayout布局内控件的动态生成与显示 打个比方,我现在写个小例子,这个小例子是这样的,整个界面分为俩个部分,分为上半部分和下半部分, ...

  5. html只能选择年月,EasyUi日期控件datebox设置,只显示年月,也只能选择年月

    EasyUi日期控件datebox设置,只显示年月,也只能选择年月 1.input 代码 年月 1 2 3 4 5 6 7 8 2.设置只显示年月,只能选持年月: $(function() { $(' ...

  6. 关于duilib CComboUI控件下拉框 字体显示 与xml 设置不相符的问题

    duilib的下拉列表框的字体无法通过itemfont自定义 关于duilib CComboUI控件下拉框 字体显示 与xml 设置不相符的问题 解决办法: 添加链接描述 在设置全局字体属性时,设置字 ...

  7. 16、控件使用之图标动画显示和图片动画显示

    控件使用之图标动画显示和图片动画显示 1.用到的控件 2.添加控件 2.1.添加[动画图标显示]控件 2.2.添加[增量调节]控件 2.3.添加[动画图片显示]控件 3.保存工程及生成文件 4.下载文 ...

  8. 15、控件使用之艺术字变量显示

    控件使用之艺术字变量显示 1.用到的控件 2.需要准备艺术字图标 3.添加控件 3.1.添加[数据变量显示]控件 3.2.添加[增量调节]控件 3.3.添加[艺术字变量显示]控件 4.保存工程及生成文 ...

  9. Cocos2dx中Scrollview控件滑动与其子控件监听冲突的解决方案(不改底层、最优)

    语言环境: Cocos2dx 3.6 Lua 5.1 UI编辑器:Cocos Studio v2.0.6 问题:Scrollview控件滑动与其子控件监听发生冲突. 在点击子控件时,若在子控件上进行移 ...

最新文章

  1. 洛谷——P1014 Cantor表
  2. Live2009各产品(如MSN)强迫升级时Server2003系统失败的解决办法
  3. Ubuntu中的root权限
  4. 博文强识|进阶企业大咖
  5. php 访问类的属性,PHP OOP如何访问类的父属性范围解析运算符(::)?
  6. 开源三维地球Cesium中如何离线加载卫星影像和高程DEM数据
  7. 数据科学库(六)pandas中的时间序列
  8. hadoop is not in the sudoers file. This incident will be reported.问题解决
  9. 自然语言处理——谷歌BERT模型深度解析
  10. 濒死状态下的静息态网络激活和功能连接
  11. Generalized Function Pointers
  12. windows server 2016 开启多用户登陆
  13. Go panic的学习
  14. 鸿蒙系统比安卓快,华为自研的鸿蒙系统比安卓快60%
  15. C++在linux环境下获取毫秒、微妙级别时间
  16. On children
  17. java交错数组,C#交错数组用法实例
  18. 上海大学计算机学院 教授名录,教授名录
  19. LINUX从零开始——ENGINEER(云计算应用管理)——Day2 [磁盘空间管理、交换空间、VDO]
  20. 在ios桌面添加web站点图标及增加启动画面

热门文章

  1. 定时器(setTimeout()和setInterval())的清除问题
  2. 数据库作业:第七章: 数据库设计
  3. JavaScript流程控制-循环(循环(for 循环,双重 for 循环,while 循环,do while 循环,continue break))
  4. 组播IGMP-原理介绍+报文分析+配置示例
  5. 微信的QQ邮箱助手不提醒,怎么解决?
  6. JSON 的文档数据库 RedisJson 介绍
  7. Hacking 开心网(虚拟朋友) with Mechanize
  8. 视觉测量时的工业相机和远心镜头选型方法
  9. 智能驾驶安全专题 | 功能安全与SOTIF如何融合实施
  10. JWT 生成Token、解析Token的简单工具类