MFC 窗口折叠问题

DontKissBossAss 2011-11-24 12:55:42
我创建了一个MFC工程,其中有一个大窗口A, 一个小窗口B

我想用B创建在A的右半部分, UI布局B保持不变,B可以覆盖A的右半部分,请问怎么解决这个问题。
...全文
225 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2011-12-16
  • 打赏
  • 举报
回复
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面界面版关于版主结帖工作的具体办法
noodle123 2011-11-25
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 liujie250079934 的回复:]

引用 7 楼 dontkissbossass 的回复:
父窗口肯定是A啊, 有半部分还要的。只不过叫B挡住了。

那就用SetWindowPos设置 B窗口的位置就行了
[/Quote]支持,顶。
sevancheng 2011-11-24
  • 打赏
  • 举报
回复
Spliter
liujie250079934 2011-11-24
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 dontkissbossass 的回复:]
m_pTapBalanceWNnd->SetWindowPos(&CWnd::wndTopMost, rt.left, rt.top, rt.rig……
[/Quote]
wndBottom 将窗口放在Z轴次序的底部。如果这个CWnd是一个顶层窗口,则窗口将失去它的顶层状态;系统将这个窗口放在其它所有窗口的底部。
wndTop 将窗口放在Z轴次序的顶部。
wndTopMost 将窗口放在所有非顶层窗口的上面。这个窗口将保持它的顶层位置,即使它失去了活动状态。
wndNoTopMost 将窗口重新定位到所有非顶层窗口的顶部(这意味着在所有的顶层窗口之下)。这个标志对那些已经是非顶层窗口的窗口没有作用。

liujie250079934 2011-11-24
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 dontkissbossass 的回复:]
m_pTapBalanceWNnd->SetWindowPos(&CWnd::wndTopMost, rt.left, rt.top, rt.rig……
[/Quote]
wndTopMost 还成wndTop
DontKissBossAss 2011-11-24
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 liujie250079934 的回复:]
引用 7 楼 dontkissbossass 的回复:
父窗口肯定是A啊, 有半部分还要的。只不过叫B挡住了。

那就用SetWindowPos设置 B窗口的位置就行了
[/Quote]

m_pTapBalanceWNnd->SetWindowPos(&CWnd::wndTopMost, rt.left, rt.top, rt.right, rt.bottom, SWP_SHOWWINDOW);
这个函数,整的,创建的窗口居然是在A的左上,而且是个虚窗口,当你点击该窗口上的控件是,实际上操作的是A窗口相应位置的控件。
liujie250079934 2011-11-24
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 dontkissbossass 的回复:]
父窗口肯定是A啊, 有半部分还要的。只不过叫B挡住了。
[/Quote]
那就用SetWindowPos设置 B窗口的位置就行了
DontKissBossAss 2011-11-24
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 liujie250079934 的回复:]
你打算把A窗口当父窗口啊 还是B窗口啊。。
啥叫B可以覆盖A的右半部分,A的右半部分不要了么。。
如果A是父窗口B是子窗口 可以在A中创建B创建 B为非模式对话框
然后用SetWindowPos设置B窗口的位置大小就OK了 反之亦然。。。
[/Quote]

父窗口肯定是A啊, 有半部分还要的。只不过叫B挡住了。
liujie250079934 2011-11-24
  • 打赏
  • 举报
回复
你打算把A窗口当父窗口啊 还是B窗口啊。。
啥叫B可以覆盖A的右半部分,A的右半部分不要了么。。
如果A是父窗口B是子窗口 可以在A中创建B创建 B为非模式对话框
然后用SetWindowPos设置B窗口的位置大小就OK了 反之亦然。。。
DontKissBossAss 2011-11-24
  • 打赏
  • 举报
回复
就告诉个函数就可以啦,同志们。
DontKissBossAss 2011-11-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xxweilw 的回复:]
把B窗口属性设置为page,然后在A窗口创建B(创建时指定B在A中的位置)
[/Quote]

给点关键代码或者函数吧,都不知道什么是page

比如创建B用那个函数。。。。
xxweilw 2011-11-24
  • 打赏
  • 举报
回复
把B窗口属性设置为page,然后在A窗口创建B(创建时指定B在A中的位置)
DontKissBossAss 2011-11-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 chengbar 的回复:]
Spliter
[/Quote]

不用分割把,就是在右半部分创建一个子窗口的问题,可是我不用会MFC的资源去创建。就是想问这个。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧