Je transfère une ancienne application MFC pour utiliser le module MFC avec l'interface utilisateur du ruban et l'interface utilisateur du ruban ne traite pas les commandes de mosaïquage des fenêtres MDI telles que ID_WINDOW_TILE_VERT. Y a-t-il un moyen d'activer cette fonctionnalité?Comment faire pour contrôler le ruban dans le MFC à traiter ID_WINDOW_TILE_VERT
pas à pas unique à travers la source MFC je reçois aussi loin que ce qui suit dans C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ atlmfc \ src \ mfc \ winmdi.cpp, qui semble correcte;
BOOL CMDIFrameWnd::OnMDIWindowCmd(UINT nID)
{
ASSERT(m_hWndMDIClient != NULL);
UINT msg;
UINT wParam = 0;
switch (nID)
{
default:
return FALSE; // not for us
case ID_WINDOW_ARRANGE:
msg = WM_MDIICONARRANGE;
break;
case ID_WINDOW_CASCADE:
msg = WM_MDICASCADE;
break;
case ID_WINDOW_TILE_HORZ:
wParam = MDITILE_HORIZONTAL;
// fall through
case ID_WINDOW_TILE_VERT:
ASSERT(MDITILE_VERTICAL == 0);
msg = WM_MDITILE;
break;
}
::SendMessage(m_hWndMDIClient, msg, wParam, 0);
return TRUE;
}
J'ai aussi essayé d'appeler
MDITile(MDITILE_HORIZONTAL);
directement, ce qui fait essentiellement la même chose et ne fonctionne pas.