MFC/Microsoft Foundation Class

DialogBar 추가하기

와앙노 2011. 1. 13. 14:51

1.     Resources 메뉴에서 Insert->Dialog->DialogBar를 추가한다.

2.     다이얼로그바가 생성되면 더블클릭하여 클래스를 생성(CDialog베이스로 생성된다)

3.     Base Class CDialogBar 클래스로 변경(Error발생 CDialog->CDialogBar로 변경)

4.     코드추가-메인프레임의 OnCreate에서 기존의 툴바 대신 사용자가 만든 툴바로 변경생성)

if(!m_Topmenu.Create(this,IDD_DIALOGBAR,CBRS_ALIGN_TOP,IDD_DIALOGBAR))
{
	TRACE0("Failed to create toolbar\n");
	return -1;      // fail to create
	}

m_Topmenu.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
	DockControlBar(&m_Topmenu);

5. DialogBar가 생성되었으나 버튼이 비활성화 상태이다.
6. 버튼을 활성화 시키기 위해서는 ON_UPDATE_COMMAND_UI 메시지를 사용
7. 메시지 함수를 선언
void CDialogEx::OnUpdateCmdUI(CCmdUI* pCmdUI)
{
pCmdUI->Enable(TRUE);
}

11. 메시지 핸들러 함수 바인딩
BEGIN_MESSAGE_MAP(CDialogEX, CDialogBar)
ON_UPDATE_COMMAND_UI(IDC_BUTTON1, OnUpdateCmdUI)
ON_UPDATE_COMMAND_UI(IDC_BUTTON2, OnUpdateCmdUI)
END_MESSAGE_MAP()