如何精确定位 子窗口的位置

joykidd 2001-03-13 10:29:00
我做了一个采集视频的程序,要求在采集的同时显示该视频流,由于视频窗口的大小是不定的, 所以我的视频窗口是动态确定的,在需要显示的时候先用MoveWindow()函数将窗口移到我所需要的位置 就是FormView上的一幅图的顶点,然后根据大小创建之。

我得代码如下:
hOutputArea = _pDevice[m_dwSlotNumber]->m_pViewWnd->GetDlgItem(IDC_PLAY_WND);
nDisplayInfo.dwDataType = DATATYPE_YUV420_DATA;
nDisplayInfo.dwImageHeight = m_dwHeight;//240;
nDisplayInfo.dwImageWidth = m_dwWidth;//352;
nDisplayInfo.dwSlotNumber = m_dwSlotNumber;
nDisplayInfo.hWnd = hOutputArea->m_hWnd;//_pDevice[m_dwSlotNumber]->m_pViewWnd->m_hWnd;


CRect rect,mainfrmrect;
hOutputArea->GetWindowRect(&rect);
//m_pViewWnd->GetWindowRect(&viewrect);
AfxGetApp()->m_pMainWnd->GetWindowRect(mainfrmrect);
rect.top-=mainfrmrect.top;
rect.left-=mainfrmrect.left;
//AfxGetApp()->m_pMainWnd->ScreenToClient(&rect);

m_pViewWnd->ScreenToClient(&rect);//m_pViewWnd is a pointer to FormvView class

hOutputArea->MoveWindow(rect.left,rect.top, nDisplayInfo.dwImageWidth, nDisplayInfo.dwImageHeight, TRUE);


但我的窗口总是不能精确定位,我都困扰好几天了,那位大侠帮忙!!
...全文
128 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
happylaodu 2001-03-13
  • 打赏
  • 举报
回复
SetWindowPos(&wndTop,rect.left,rect.top,nDisplayInfo.dwImageWidth,nDisplayInfo.dwImageHeight,SWP_SHOWWINDOW);

Dooo 2001-03-13
  • 打赏
  • 举报
回复
使用SetWindowPos()如何
joke100 2001-03-13
  • 打赏
  • 举报
回复
倒数第二句
m_pViewWnd->ScreenToClient(&rect);//m_pViewWnd is a pointer to FormvView class
改成:
hOutputArea->ScreenToClient(&rect);//m_pViewWnd is a pointer to FormvView class
如何???



16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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