子窗口随父窗口的移动而移动

dongbw007 2011-02-16 01:30:51
rt,这么实现子窗口随父窗口的移动而移动??求详细解答
...全文
1204 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
tubo_true 2011-02-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 visualeleven 的回复:]

怎样的子窗口和父窗口?
[/Quote]

up
wylongg 2011-02-21
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 lovev8 的回复:]
引用 9 楼 wylongg 的回复:
楼主是不是想让一个窗口,随主窗口移动?这个窗口和主窗口应该是并列关系,如果是父子关系,那么子窗口不可能跑到主窗口外面的。


晕,父子关系的子窗口也可以在父窗口外面,但子窗口只限于在父窗口的前面,就是不会被父窗口遮盖。
[/Quote]
跑到外面,最多是owner窗口。没有父子关系。包括toolbar窗口、popup窗口等。
lovev8 2011-02-21
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 wylongg 的回复:]
引用 11 楼 lovev8 的回复:
引用 9 楼 wylongg 的回复:
楼主是不是想让一个窗口,随主窗口移动?这个窗口和主窗口应该是并列关系,如果是父子关系,那么子窗口不可能跑到主窗口外面的。


晕,父子关系的子窗口也可以在父窗口外面,但子窗口只限于在父窗口的前面,就是不会被父窗口遮盖。

跑到外面,最多是owner窗口。没有父子关系。包括toolbar窗口、popup窗口……
[/Quote]
popup实际上就可以成为这样的子窗口,用的GetParent()访问父窗口,父窗口消失它也消失,显示隐藏都和父窗口同步,这就可以看作父子关系。
lovev8 2011-02-19
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 tompaz 的回复:]
如果是child,不可能跑到父窗口外面么?
[/Quote]
可以
tompaz 2011-02-19
  • 打赏
  • 举报
回复
如果是child,不可能跑到父窗口外面么?
lovev8 2011-02-19
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 wylongg 的回复:]
楼主是不是想让一个窗口,随主窗口移动?这个窗口和主窗口应该是并列关系,如果是父子关系,那么子窗口不可能跑到主窗口外面的。
[/Quote]

晕,父子关系的子窗口也可以在父窗口外面,但子窗口只限于在父窗口的前面,就是不会被父窗口遮盖。
lovev8 2011-02-19
  • 打赏
  • 举报
回复
楼主说的肯定是在父窗口外的子窗口,象这样的移动要做到同步应该用DeferWindowPos来同时移动多个窗口
mmxMySher 2011-02-18
  • 打赏
  • 举报
回复
在父窗口中通过子窗口的句柄进行移动啊,用MoveWindow也好还是发消息都可以
wylongg 2011-02-18
  • 打赏
  • 举报
回复
楼主是不是想让一个窗口,随主窗口移动?这个窗口和主窗口应该是并列关系,如果是父子关系,那么子窗口不可能跑到主窗口外面的。
wylongg 2011-02-18
  • 打赏
  • 举报
回复
什么也不用做,子窗口会自动随父窗口移动而移动的。
xiaohuh421 2011-02-18
  • 打赏
  • 举报
回复
通常情况下,子窗口都会自动随父窗口移动,MS已经是做好的.比如各种控件,都是一个子窗口,还有如child类型的tab属性页等.
如果都不是,那应该属于窗口联动了,那就要想办法主动通知了.
手机写程序 2011-02-18
  • 打赏
  • 举报
回复
子窗口使用cstatic,cbotten等等控件,父窗口用cdialog.
ji1bing 2011-02-17
  • 打赏
  • 举报
回复

void CParentWnd::OnMove(int x, int y)
{
CDialog::OnMove(x, y);

if(NULL == m_pChileWnd)
return;

CRect rcClient;
GetClientRect(rcClient);
ClientToScreen(rcClient);

m_pChileWnd->MoveWindow(rcClient);
m_pChileWnd->ShowWindow(SW_SHOW);
}


子窗口始终覆盖父窗口,并随这父窗口的移动而移动
Eleven 2011-02-16
  • 打赏
  • 举报
回复
怎样的子窗口和父窗口?
jacikafx 2011-02-16
  • 打赏
  • 举报
回复
MoveWindow
varding 2011-02-16
  • 打赏
  • 举报
回复
1、用变量保存你的子窗口相对主窗口的偏移
2、在主窗口的OnMove里得到主窗口现在的位置,然后使用上面的偏移量计算子窗口的坐标,然后用MoveWindow移动子窗口

15,980

社区成员

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

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