问一个关于一MFC窗口中嵌入另一个非MFC窗口的问题

lint2008 2009-09-07 05:35:24
是这样的,我在MFC程序(叫neptune)中的一个View中新开了一个线程,这个线程会调用一个程序A,这个程序A会新开一个窗口B(标题叫"AAA")并在其中画东西。注意,这个建窗口A和画东西的过程是程序A做的事,我们无法干涉,也无法知道怎么画的
效果就是程序运行后,在任务栏有两个窗口,分别叫neptune和AAA,这两个窗口独立。也就是会相互遮挡。可以单独操作。现在我想把窗口AAA嵌入到neptune中,我在线程函数中用了下面两条语句:
HWND hwnd = ::FindWindow( NULL, "AAA" );
::SetParent( hwnd,hParent->GetSafeHwnd() ); //hParent为vie㣠w的指针
效果就是在任务栏里就没有AAA这个窗口了,但是AAA只有一部分嵌入到了窗口中,窗口其它部分仍然是黑的(ondraw中黑色清屏的效果),无法正好铺满整个窗口。
我想问的是:
应该怎么设置才能让窗口B铺满整个View呢?
应该是在什么时候设置窗口大小?设成多大?怎么设置呢?
SetWindowPos( hwnd, HWND_TOPMOST, rect.left, rect.right-rect.left, rect.top, rect.bottom-rect.top, SWP_SHOWWINDOW );
用这条语句的话,窗口A就看不到了。。。不知道为什么?
能否麻烦给个思路,不用太具体的。如果能具体更好。
...全文
110 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
MoXiaoRab 2009-09-07
  • 打赏
  • 举报
回复
GetViewRect获得视图的矩形,转换成窗口坐标,然后MoveWindow和SetWindowPos都可以

15,978

社区成员

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

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