2,641
社区成员
发帖
与我相关
我的任务
分享
HWND hDesk=::GetDesktopWindow();//获取桌面的窗口句柄
::SendMessage(hDesk,WM_MDITILE,MDITILE_HORIZONTAL,0);//横向平铺
::SendMessage(hDesk,WM_MDITILE,MDITILE_VERTICAL,0);//纵向平铺
::SendMessage(hDesk,WM_MDICASCADE,0,0);//层叠
UINT nEventIds;
nEventIds=403; //ArrangeCascade
nEventIds=404; //ArrangeTileHrz
nEventIds=405; //ArrangeTileVrt
HWND hShellWnd = ::FindWindow(_T("Shell_TrayWnd"), NULL);
if(hShellWnd != NULL)
::PostMessage(hShellWnd, WM_COMMAND, MAKELONG(nEventIds, 0), NULL);
//其中selIndex选择前面对应数组序号
BOOL CMyDlg::OnCommand(WPARAM wParam, LPARAM lParam)
{
switch(wParam){
case IDM_ALL_HORIZONTAL:
::TileWindows(NULL,MDITILE_HORIZONTAL,NULL,NULL,NULL);
break;
case IDM_ALL_VERTICAL:
::TileWindows(NULL,MDITILE_VERTICAL,NULL,NULL,NULL);
break;
case IDM_ALL_CASCADING:
::CascadeWindows(NULL,NULL,NULL,NULL,NULL);
break;
}
return CDialog::OnCommand(wParam, lParam);
}