国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

MFC窗口最大化時控件位置的調(diào)整

2019-11-11 03:08:00
字體:
供稿:網(wǎng)友

如圖:

重載OnSize()函數(shù)進行控件調(diào)整:m_bStart在構(gòu)造函數(shù)中設(shè)置為FALSE,對話框初始化函數(shù)中設(shè)置為TRUE,否則會報錯。因為只有當窗口產(chǎn)生后才調(diào)用OnSize()函數(shù)進行控件的調(diào)整,當窗口沒產(chǎn)生時就對窗口進行調(diào)整就會有問題。

void CFileSearchToolDlg::OnSize(UINT nType, int cx, int cy){	CDialogEx::OnSize(nType, cx, cy);	CRect RectOld,RectNew;  int Off=0;	if (m_bStart)	{		//基于屏幕坐標		m_EditPath.GetWindowRect(&RectOld);		//基于客戶區(qū)坐標		m_EditPath.SetWindowPos(NULL,RectOld.left,RectOld.top,cx-335,RectOld.Height(),SWP_NOMOVE|SWP_NOZORDER);		m_EditPath.GetWindowRect(&RectNew);		Off=RectNew.Width()-RectOld.Width();		CRect RectScan;		m_BtnScan.GetWindowRect(&RectScan);		ScreenToClient(&RectScan);		CRect RectStart;		m_BtnStart.GetWindowRect(&RectStart);		ScreenToClient(&RectStart);		m_BtnScan.SetWindowPos(NULL,RectScan.left+Off,RectScan.top,0,0,SWP_NOZORDER|SWP_NOSIZE);		m_BtnStart.SetWindowPos(NULL,RectStart.left+Off,RectStart.top,0,0,SWP_NOSIZE|SWP_NOZORDER);		CRect RectList;		m_ListResult.GetWindowRect(&RectList);		ScreenToClient(&RectList);		m_BtnStart.GetWindowRect(&RectStart);		ScreenToClient(&RectStart);		RectList.right=RectStart.right;		RectList.bottom=cy-10;		m_ListResult.SetWindowPos(NULL,0,0,RectList.Width(),RectList.Height(),SWP_NOZORDER|SWP_NOMOVE);		if (RectList.Width()>1090)		{			m_ListResult.SetColumnWidth(7,LVSCW_AUTOSIZE_USEHEADER);	    }	//	Invalidate(TRUE);	}}

2、控制窗口最大化時的大小和位置,以及拖曳窗口時的最大拖曳窗口和最小拖曳窗口:響應(yīng) WM_GETMINMAXINFO 消息

void CFileSearchToolDlg::OnGetMinMaxInfo(MINMAXINFO* lpMMI){	//最大化時窗口的大小	int nScreenWidth=GetSystemMetrics(SM_CXSCREEN);	int nScreenHeight=GetSystemMetrics(SM_CYSCREEN);	lpMMI->ptMaxSize.x=nScreenWidth;	lpMMI->ptMaxSize.y=600;	//最大化時窗口在屏幕中的位置	CRect MaxRect;	GetWindowRect(&MaxRect);	lpMMI->ptMaxPosition.y=(nScreenHeight-MaxRect.Height())/2;	//對窗口進行拖曳時,設(shè)置最大拖曳窗口和最小拖曳窗口	lpMMI->ptMinTrackSize.x=m_Rect.Width();	lpMMI->ptMinTrackSize.y=m_Rect.Height();    lpMMI->ptMaxTrackSize.x=nScreenWidth;	lpMMI->ptMaxTrackSize.y=600;	CDialogEx::OnGetMinMaxInfo(lpMMI);}


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 耒阳市| 西乌| 淮安市| 紫云| 会同县| 通化县| 弥勒县| 尉氏县| 兴海县| 关岭| 邵阳县| 资溪县| 东阳市| 富锦市| 永昌县| 报价| 百色市| 全椒县| 隆尧县| 合阳县| 金华市| 丘北县| 新平| 嵊州市| 宝山区| 浠水县| 那坡县| 增城市| 四会市| 临高县| 大足县| 上饶县| 临潭县| 乌拉特前旗| 克东县| 泸西县| 安岳县| 麟游县| 麟游县| 邵阳县| 黄浦区|