【发布时间】:2015-10-15 10:07:48
【问题描述】:
我正在使用 Windows MFC 创建一个小程序。 我想让程序的多个实例出现在级联位置。
目前程序总是居中显示,即不可能在多个窗口中看到它。
有没有一种自动的方式让窗口在级联位置创建多个实例?
为了测试,我使用了一个包含多行的批处理脚本:
"start MyProgram.exe"
"start MyProgram.exe"
"start MyProgram.exe"
我使用的对话框是从 CDialogEx 派生的(但我使用 CDialog 有相同的)
我希望这是对话框的标志/属性。
在更改 .rc 文件之前有这样的属性
IDD_MAIN_DLG DIALOGEX 0, 0, 260, 185 STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION
我知道 CascadeWindows() 函数,但据我所知,它需要更多地了解哪些实例已经运行
【问题讨论】:
-
不,没有,您必须通过
MoveWindowOnInitDialog方法中的对话框自行完成。 -
IMO 应删除 c++ 和 MFC 标签,因为您希望“windows”在不修改程序的情况下完成这项工作
-
我不同意罗布森的观点。我想配置我的 MFC 代码,以便 windows 可以处理它的位置......虽然解决方案可能超出了 MFC 的范围。如果其他人(像我一样)搜索 MFC 解决方案,他们会发现他们需要使用原始 WinApi。