level 1
a18306485252
楼主
想要在DockablePane浮动状态时,双击标题栏,让DockablePane最大化,QT有个窗体操作函数可以让QDockWidget最大化,MFC没有这种函数,该怎么做。
我能截获DockablePane在浮动时的双击标题栏消息,但是我用setwindowpos和MoveWindow都没有效果。
BOOL CMainFrame::PreTransLateMessage(MSG* pMsg)
{
if(pMsg->message == WM_LBUTTONDBLCLK)
{
if(pMsg->wParam == HTCLIENT)
{
if(m_myDock.m_hWnd == pMsg->hwnd)
{
#if 0
int cx = GetSystemMetrics(SM_CXFULLSCREEN);
int cy = GetSystemMetrics(SM_CYFULLSCREEN);
m_myDock.MoveWindow(CRect(0,0,cx,cy));
//m_myDock.SetWindowPos(NULL,0,0,cx,cy,SWP_NOZORDER);
return TRUE;
#endif
}
if(m_myDock.m_hwnd == ::GetFocus())
{
MessageBox(_T("停靠时双击标题栏"));
}
}
}
return CFameWndEx::PreTransLateMessage(pMsg);
}
2017年08月17日 02点08分
1
我能截获DockablePane在浮动时的双击标题栏消息,但是我用setwindowpos和MoveWindow都没有效果。
BOOL CMainFrame::PreTransLateMessage(MSG* pMsg)
{
if(pMsg->message == WM_LBUTTONDBLCLK)
{
if(pMsg->wParam == HTCLIENT)
{
if(m_myDock.m_hWnd == pMsg->hwnd)
{
#if 0
int cx = GetSystemMetrics(SM_CXFULLSCREEN);
int cy = GetSystemMetrics(SM_CYFULLSCREEN);
m_myDock.MoveWindow(CRect(0,0,cx,cy));
//m_myDock.SetWindowPos(NULL,0,0,cx,cy,SWP_NOZORDER);
return TRUE;
#endif
}
if(m_myDock.m_hwnd == ::GetFocus())
{
MessageBox(_T("停靠时双击标题栏"));
}
}
}
return CFameWndEx::PreTransLateMessage(pMsg);
}