-
사용자 인터페이스_1MFC 2016. 4. 18. 16:53
1. 메뉴
실습 : 간단한 메뉴와 단축키 만들기
2. 툴바
실습 : 간단한 툴바 만들기
3. 도킹 팬
실습 : 사칙연산 계산기 만들기
메뉴
= Tool bar
= 단축키(Accelerator)
WM_COMMAND 메시지 발생
ex) ID_LINE ... OnLine() { 소스 추가 }
CWinApp
- InitKeyboardManager(); 주석 처리 해야 키보드 단축키 먹음
WM_UPDATE_COMMAND_UI 메시지도 발생(필수처리는 아님)
- 메뉴 앞의 체크박스 모양, GRADE 가능
ex) ID_LINE ... OnUpdateLine(CCmdUI * pCmdUI) { 소스 추가 }
CCmdUI 클래스
1. 사용자 인터페이스를 수정할 수 있는 기능을 제공
2. 멤버함수
Enable() : 메뉴항목 선택할 수 있게(TRUE), 선택할 수 없게(FALSE)
SetCheck() : 메뉴항목에 체크 표시가 나타나게(TRUE), 나타나지않게(FALSE) 함
SetRadio()
SetText()
ex) pCmdUI->Enable(FALSE);
툴바
- 툴바는 메뉴 명령의 시각적인 표현이기 때문에 메뉴의 동작에 대한 구현과 매우 흡사하다.
도킹 팬 윈도우
{ CMain Frame, CDockablePane, CDialogEx }
- Visual Studio 2008 SP1 Feature Pack 부터 적용된 인터페이스 기술
- 도킹 팬 윈도우의 일반적인 특징은 툴 바 또는 다이얼로그 바와 같이 프레임 윈도우의 어떤 부분이라도 자유롭게 도킹할 수 있다.
- 탭 윈도우를 이용한 중첩이 가능하다는 점과 분할 윈도우를 이용한 영역배치를 할 수 있다.
- 캡션, 자동 숨기기, 컨텍스트 메뉴 등 유용한 기능을 가지고 있다.
- 대화상자에 포함되는 모든 컨트롤들을 처리할 수 있다. 컨트롤이 보낸는 메시지도 처리 가능하다.
- 도킹 팬 윈도우를 가장 잘 활용하고 있는 예시가 바로 우리가 사용하고 있는 Visual Studio이다.
{
1] CDialogEx
1) 대화상자 디자인
2) Class 정의
CCalculatorCtrl
2] CDockablePane
1) Class 정의
CCalculatorPane - OnCreate()에서
i) Create
ii) ShowWindow()
3] CMainFrame
OnCreate()에서
i) Create
ii) DockPane()
}