awithing |
2016-02-23 16:10 |
aplayer:是否你的 APlayer 窗口设置成了视频大小,而这时为音频,视频大小为 0x0 所以看不到了? 如果还有问题,把你能重现问题的框架代码发给我(不要全部),我这边来试试看。 
BOOL CDemoDlg::OnInitDialog() { ...
CWnd *pWnd; pWnd=GetDlgItem(IDC_PLAYER1); if(pWnd) { pWnd->SetWindowPos( NULL,0,30,675,355,SWP_NOZORDER); //把按钮移到窗口的 } }
void CDemoDlg::OnSize(UINT nType, int cx, int cy) { CDialog::OnSize(nType, cx, cy);
// TODO: 在此处添加消息处理程序代码 CWnd *pWnd; pWnd=GetDlgItem(IDC_BUTTON8); //全屏/退出全屏 按钮 if(pWnd) { pWnd->SetWindowPos( NULL,cx-25,cy-25,0,0,SWP_NOZORDER | SWP_NOSIZE ); //把按钮移到窗口的 } pWnd=GetDlgItem(IDC_PLAYER1); if(pWnd) { if(FullScreen) { pWnd->SetWindowPos( NULL,0,0,cx,cy-50,SWP_NOZORDER); }else { pWnd->SetWindowPos( NULL,0,30,cx,cy-80,SWP_NOZORDER); } } pWnd=GetDlgItem(IDC_BUTTON1); if(pWnd) { pWnd->SetWindowPos( NULL,cx/2-13,cy-28,0,0,SWP_NOZORDER | SWP_NOSIZE); //把按钮移到窗口的 } pWnd=GetDlgItem(IDC_BUTTON2); if(pWnd) { pWnd->SetWindowPos( NULL,cx/2-41,cy-28,0,0,SWP_NOZORDER | SWP_NOSIZE); //把按钮移到窗口的 } pWnd=GetDlgItem(IDC_BUTTON3); if(pWnd) { pWnd->SetWindowPos( NULL,cx/2+15,cy-28,0,0,SWP_NOZORDER | SWP_NOSIZE); //把按钮移到窗口的 } pWnd=GetDlgItem(IDC_BUTTON7); if(pWnd) { pWnd->SetWindowPos( NULL,cx-36,0,0,0,SWP_NOZORDER | SWP_NOSIZE); //把按钮移到窗口的 } pWnd=GetDlgItem(IDC_BUTTON6); if(pWnd) { pWnd->SetWindowPos( NULL,cx-65,0,0,0,SWP_NOZORDER | SWP_NOSIZE); //把按钮移到窗口的 } pWnd=GetDlgItem(IDC_PlayTime); //静态文件本(播放时间进度) if(pWnd) { pWnd->SetWindowPos( NULL,60,cy-19,0,0,SWP_NOZORDER | SWP_NOSIZE); //把按钮移到窗口的 } pWnd=GetDlgItem(IDC_PlayTotalTime); //静态文件本(总播放时间) if(pWnd) { pWnd->SetWindowPos( NULL,138,cy-19,0,0,SWP_NOZORDER | SWP_NOSIZE); //把按钮移到窗口的 } pWnd=GetDlgItem(IDC_PlayState); //静态文件本(总播放时间) if(pWnd) { pWnd->SetWindowPos( NULL,6,cy-19,0,0,SWP_NOZORDER | SWP_NOSIZE); //把按钮移到窗口的 } }
BOOL CDemoDlg::OnEraseBkgnd(CDC* pDC) { // TODO: 在此添加消息处理程序代码和/或调用默认值 CBitmap m_bitmap; BITMAP m_bmInfo; m_bitmap.LoadBitmap(IDB_BK); m_bitmap.GetObject(sizeof(m_bmInfo),&m_bmInfo);
// CDC* pDC=GetDC(); CDC dc; dc.CreateCompatibleDC(pDC); dc.SelectObject(&m_bitmap); //pDC->SelectObject(&m_bitmap); CRect m_rect; GetClientRect(&m_rect); pDC->StretchBlt(0,0,m_rect.Width(),m_rect.Height(),&dc,0,0,m_bmInfo.bmWidth,m_bmInfo.bmHeight,SRCCOPY); dc.DeleteDC(); /* static int a=0; a++; CString str; str.Format("%d",a); TRACE("OnEraseBkgnd(CDC* pDC) "+str+"\r\n"); */ return true;//返回真
// return CDialog::OnEraseBkgnd(pDC); }
以上是部分代码 |
|