如何精确定位 子窗口的位置
我做了一个采集视频的程序,要求在采集的同时显示该视频流,由于视频窗口的大小是不定的, 所以我的视频窗口是动态确定的,在需要显示的时候先用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);
但我的窗口总是不能精确定位,我都困扰好几天了,那位大侠帮忙!!