mdlgbar.cpp

来自「MFC编程实例」· C++ 代码 · 共 62 行

CPP
62
字号
#include "stdafx.h"
#include "Bar.h"
#include "MainFrm.h"
#include "MDlgBar.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

MCDialogBar::MCDialogBar():CDialogBar()
{
	//{{AFX_DATA_INIT(MCDialogBar)
	//}}AFX_DATA_INIT
}

void MCDialogBar::OnSize(UINT nType, int cx, int cy) 
{
	CWnd *ptrWnd;
	CRect rectWnd;

	CDialogBar::OnSize(nType, cx, cy);

	GetClientRect(rectWnd);
	ptrWnd=GetDlgItem(IDC_EDIT);
	if(ptrWnd != NULL)
	{
		ptrWnd->MoveWindow
		(
			rectWnd.left+15,
			rectWnd.top+15,
			rectWnd.Width()-30,
			rectWnd.Height()-30
		);
	}
}

CSize MCDialogBar::CalcDynamicLayout(int nLength, DWORD dwMode)
{
	CSize size;
	CMainFrame *ptrWnd;
	CRect rect;

	ptrWnd=(CMainFrame *)(AfxGetApp()->m_pMainWnd);
	ptrWnd->GetClientRect(rect);
	if((dwMode & LM_VERTDOCK) || (dwMode & LM_HORZDOCK))
	{
		size.cx=(dwMode & LM_HORZ) ? rect.Width():m_sizeDefault.cx;
		size.cy=(dwMode & LM_HORZ) ? m_sizeDefault.cy:rect.Height();

		return size;
	}
	return CDialogBar::CalcDynamicLayout(nLength, dwMode);
}

BEGIN_MESSAGE_MAP(MCDialogBar, CDialogBar)
	//{{AFX_MSG_MAP(MCDialogBar)
	ON_WM_SIZE()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?