如何使 MDI 子窗口位于其兄弟窗口之上?

2023-12-05

这个问题与我的上一个。

我有一个 MFC (VC6) MDI 应用程序,它有多个 MDI 子窗口,充当一个文档的不同视图。

是否可以将其中一个框架设置为位于其他框架之上?
我试过打电话

SetWindowPos(
   &GetParentFrame()->wndTopMost,
   0, 0, 0, 0,
   SWP_NOMOVE | SWP_NOSIZE);

and

ModifyStyleEx(0, WS_EX_TOPMOST);

来自 CMDIChildWnd 但似乎都不起作用。


在您的 CMDIChildWnd 类(通常是 CChildFrame)中,添加一个静态HWND m_hTopWnd。将其设置为等于您希望始终位于顶部的子项的 HWND。

Handle WM_WINDOWPOSCHANGED in CChildFrame。在处理程序中,检查当前是否m_hWnd == m_hTopWnd。如果没有,请致电

::SetWindowPos(m_hTopWnd, HWND_TOP, 0, 0, 0, 0, 
    SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE);

这样,每当设置任何 MDI 子窗口的位置时,“始终位于顶部”的窗口都会被推回到顶部。

还处理WM_CLOSE当顶部窗口关闭时,设置 m_hTopWnd = NULL。

也可以看看:代码项目文章 and MSDN 知识库

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使 MDI 子窗口位于其兄弟窗口之上? 的相关文章

  • 如何最好地避免 C++/CLI 本机类型中的双重转换

    传统上 我一直使用 MFC 扩展 dll 并使用 dllimport dllexport 导入 导出 但是 当 dll 更改为使用 clr 时 此方法的成本会变得很高 因为调用可能会导致双重转换 我现在的性能受到了巨大的打击 需要停止双重重
  • 需要VC6平台SDK

    有谁知道我可以在哪里下载最后一个与 VC6 一起使用的 Platform SDK 我通过谷歌搜索找到的链接似乎都已失效 我设法在这里找到它 官方或非官方 http docs moodle org dev FebruaryPlatformSD
  • MFC:如何捕获Web浏览器控件中的链接单击事件?

    我有一个带有 Web 控件的 MFC 应用程序 单击可单击链接时 它将使用 IE 打开 而不是默认浏览器 问题 有没有办法强制使用默认浏览器打开它 如果没有 我如何捕获链接单击事件 以便稍后可以操纵单击事件 谢谢 不 据我所知还没有 查看有
  • 如何在 MFC 中创建 GUI

    我需要能够即时创建指南 MFC中有没有办法做到这一点 我了解了如何在 net 中做到这一点 但我们还没有做到这一点 如果没有 您是否有一些我可以使用的代码的指针 don t forget to add Rpcrt4 lib to your
  • 默认情况下启用或禁用菜单项。为什么?

    我有一些遗留代码 由于某种原因 菜单项在启动时被启用或禁用 我的问题是 如何 有没有办法在不调用 EnableMenuItem 函数的情况下执行此操作 MFC 有没有办法做与资源设置所说相反的事情 我也不明白为什么当最后一个子窗口关闭时 当
  • 与 UltraHD 兼容的 CHtmlView

    CHtmlView与 UltraHD 分辨率不兼容 实现 UltraHD 感知并不仅仅在于使用正确的 HTML CSS 打印预览机制失败并裁剪页面 许多个月前 微软承认这是一个问题 但没有解决它 我的应用程序大量使用CHtmlView用于显
  • 编辑默认工具栏时 Microsoft Visual Studio“未知位图格式”

    我已使用项目创建向导使用 Microsoft 基础类库 MFC 创建了一个应用程序 我创建了一个多文档界面 MDI 应用程序 该向导创建您可以使用的虚拟工具栏和菜单 我扩展了默认工具栏 没有任何问题 但是现在当我尝试通过资源视图编辑它时 我
  • 如何发光最小。最大和关闭按钮?

    我按照以下指南使用 DWM API 创建自定义 Aero 框架 My work void CMainFrame OnActivate UINT nState CWnd pWndOther BOOL bMinimized CFrameWnd
  • 如何找到激活时打开给定 HMENU 的菜单项(如果有)?

    我想用原型实现一个功能 Locates the menu item of the application which caused the given menu mnu to show up return true if the given
  • 禁用/启用 MFC 功能包的功能区按钮

    我正在使用 MFC 功能包 并且功能区栏上有一些按钮 即 CMFCRibbonButton 的实例 问题是我想在某些条件下启用和禁用其中一些 但在运行时 我怎样才能做到这一点 因为没有具体的方法 我听说解决方案是在运行时附加 分离事件处理程
  • MDI应用程序中父窗体的问题

    我使用按钮作为容器中的控件 父窗体 当子窗体出现时 父窗体中的控件 按钮 图片 标签 出现在子窗体上并将其覆盖 我看不到子窗体 有谁知道如何防止这种情况 我不想将这些控件设置为 Control Visible false 因为当我最小化子表
  • 当整数被零除时,msvc 6 会抛出什么异常?

    我做了一些实验 发现当整数除以零时会引发异常 include
  • 对 MFC UI 应用程序进行单元测试吗?

    如何对大型 MFC UI 应用程序进行单元测试 我们有一些大型 MFC 应用程序已经开发了很多年 我们使用一些标准的自动化 QA 工具来运行基本脚本来检查基础知识 文件打开等 这些由 QA 小组在日常构建后运行 但我们希望引入一些程序 以便
  • 如何通过MFC将应用程序设置保存到注册表中?

    我有一个由 MFC 项目向导创建的 MFC 应用程序 我想在注册表中保存 读取应用程序设置 所以问了这个question https stackoverflow com questions 1880275 good c registry w
  • 屏幕截图忽略了一些窗口

    我正在 MFC 中工作 我正在尝试捕获桌面的 bmp 我正在使用 GetDC NULL 来执行此操作 但它似乎忽略了特殊的皮肤窗口 它似乎忽略了用 UpdateLayeredWindow 绘制的窗口 此行为似乎仅发生在 Vista x64
  • 如何在 MFC 中调整对话框大小时移动控件?

    我已经在 MFC 中创建了对话框视图 从下图中可以清楚地看到 如滑块控件和编辑框等 当我调整对话框大小时 这些控件不会移动 在此输入图像描述 https i stack imgur com 7OxAK jpg 我想移动控件以适应对话框 但不
  • Create CFrameWnd 给出了第一次机会异常——为什么?

    我正在尝试使用基于 CFrameWnd 的代码编写一个简单的 MFC 应用程序 该应用程序在可滚动窗口中绘制 下面的代码改编自 Prosise Programming Windows with MFC 第 2 版 第 89ff 页 当我在调
  • 从模态 MFC 表单获取输入信息

    我已经创建了表格CPreparationDlg具有Edit Control 然后我创建了创建模态表单的应用程序 在按 确定 后 我需要将编辑控件中输入的文本读入主程序的变量中 最好的方法是什么 class CPreparationApp p
  • 如何将十六进制字符串转换为无符号长整型?

    我有以下十六进制值 CString str str T FFF000 如何将其转换为unsigned long 您可以使用strtol作用于常规 C 字符串的函数 它使用指定的基数将字符串转换为 long long l strtol str
  • Windows API 中逻辑坐标和设备坐标之间的混淆

    我一直在研究一个使用两个函数的 Visual Studio C Windows 应用程序项目SetWindowExt and SetViewportExt 我对这两个函数的作用以及为什么它们是必要的感到困惑 搜索这些函数 我得出了逻辑坐标和

随机推荐

  • 如何删除

    标签顶部的空间/将包含的文本与容器顶部对齐?

    这无疑是一个愚蠢的问题 但我今天过得很糟糕 这让我很困惑 如果您查看http jsfiddle net E6kGP 1 然后您可以看到两个相邻的简单 div 每个 div 都包含一个 p 标签 每个标签具有不同的字体大小和匹配的行高 p 容
  • org.apache.hadoop.mapreduce.counters.LimitExceededException:计数器太多:121 max=120

    我正在运行一个 hadoop 作业 来自 oozie 它有很少的计数器和多输出 我收到如下错误 org apache hadoop mapreduce counters LimitExceededException 计数器太多 121 ma
  • 网络服务器的实现[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我想用纯 Java 实现我自己的网络服务器 Web 服务器应该仅支持静态资源 即 html js css 图片 电影等 您能推荐一个关于如何实现这样
  • 无法在字段值中使用 1(int 类型)作为 *int 类型

    为什么会产生错误 一样的int除了 with 指针 type Gim struct Active int yesVar Gim Active 1 error Cannot use 1 type int as type int in fiel
  • 如何在c中实现定时器?

    我们想在Linux平台下的C程序中添加一个定时器 我们正在尝试发送数据包 并且希望了解 1 分钟内发送了多少数据包 我们希望计时器与while正在执行发送数据包的循环 例如 while 1 send packets 该循环将继续发送数据包
  • Angular2 中使用 Angular-CLI 的环境特定服务端点

    我正在为我的 Angular2 项目使用 Angular CLI 我通过 angular2 服务调用后端 ajax 服务 我对于不同的任务有不同的服务端点 URL 我想让这些服务环境变得有意义 假设我有两个服务 客户服务 https loc
  • Boost Spirit 可选解析器和回溯

    为什么这个解析器离开 b 在属性中 即使选项不匹配 using namespace boost spirit qi std string str abc auto a char a auto b char b qi rule
  • 拥有值的一般方法(不指定“Rc”或“Box”)

    一般来说 当您不想指定时 是否有一个针对拥有值的枚举 特征how确切地说 该值是拥有的 无论共享与否 但您只想拥有它 我需要将对闭包的引用存储在结构中 这意味着它们必须与结构一样存在 当然 我无法复制它们 因此它们需要作为参考 但我不想做出
  • 如何访问向量中的最后一个值?

    假设我有一个嵌套在具有一层或两层的数据框中的向量 有没有一种快速而肮脏的方法来访问最后一个值 而不使用length 功能 类似 PERL 的东西 特殊变量 所以我想要这样的东西 dat vec1 vec2 代替 dat vec1 vec2
  • 找出两个日期之间的小时差?

    例如 我可以通过查看这两个日期来计算它们的差异 但在程序中计算时我不知道 日期 A 是2014 02 12 y m d 13 26 33且 B 是2014 02 14 y m d 11 35 06那么小时差是 46 我假设你将时间存储为字符
  • 为什么 g++ 找不到 iostream.h?

    我试图了解如何在 Ubuntu 上使用 g 和 最终 Clang 从命令行编译 C 程序 我找到了一个解释 MakeFiles 的网页 我正在遵循他们的指示 http mrbook org tutorials make 我将四个示例文件下载
  • for 循环事件驱动代码?

    在 Redis 数据存储中 我有一个键列表 我想迭代该键列表并从 Redis 获取这些值 问题是我正在使用事件驱动语言 即通过 node js 的 javascript 如果 javascript 是程序化的我可以这样做 function
  • Karate 0.9.6 到 1.0.1 升级问题与数组参数

    在空手道中发送空数组参数时 不会发送该参数 Example Given url homeUrl And path types And param filterTypes When method GET Then status 200 And
  • Firebase函数无法从源加载函数定义错误解决方案

    错误 无法从源加载函数定义 无法从 函数源生成清单 错误 ERR PACKAGE PATH NOT EXPORTED 包子路径 lib firestore 未由 Users macbook Desktop ein itin 中的 expor
  • 多值字典?

    任何人都知道一个好的实施MultiValueDictionary 基本上 我想要一个允许每个键有多个值的东西 我希望能够做类似的事情 dict Add key val 如果该键尚不存在 它将添加它 如果存在 它只会向该键添加另一个值 我只是
  • 如何使 django-registration 使用我自定义的 UserCreationForm 和 UserChangeForm?

    我正在使用 Django 1 4 开发一个网站django registration 我希望允许用户使用任意 Unicode 字符创建用户名 目前 如果有人尝试使用非拉丁字符注册 他将看到一条错误消息 负责拒绝这种非 ASCII 用户名的代
  • 使用 mvc3 下拉列表的 jquery 自动完成

    我正在使用 ASP NET MVC3 和 EF Code First 我以前没有使用过 jQuery 我想将自动完成功能添加到绑定到我的模型的下拉列表中 下拉列表存储 ID 并显示值 那么 如何连接 jQuery UI 自动完成小部件以在用
  • 删除列表中的重复项(Prolog)

    我对 Prolog 完全陌生 正在尝试一些练习 其中之一是 编写谓词集 InList OutList 它以任意输入作为输入 列表 并返回一个列表 其中每个 仅出现输入列表的元素 一次 这是我的解决方案 member X X member X
  • Android - 键盘覆盖输入框 - 即使在 Chrome 浏览器中也是如此

    是否有 HTML5 css js 解决方案可以在软键盘出现时弹出窗口内容 例如 如果您打开鸭鸭网在 Android 设备上并在输入字段中输入文本 当软键盘出现时 它会将内容向上突出 这样就不会覆盖输入框 比较一下Shottag com其中键
  • 如何使 MDI 子窗口位于其兄弟窗口之上?

    这个问题与我的上一个 我有一个 MFC VC6 MDI 应用程序 它有多个 MDI 子窗口 充当一个文档的不同视图 是否可以将其中一个框架设置为位于其他框架之上 我试过打电话 SetWindowPos GetParentFrame gt w