컴퓨터 공부/MFC 프로그래밍

[5월 18일 1교시] 상태바 + 다이얼로그바

려리군 2009. 5. 18. 10:08

상태바

윈도우의 하단에 위치하며, 프로그램의 현재 상태를 표시한다.

구성

 - 리소스 : ID, String table

 - static UINT indicators[] : 상태바의 기능과 화면 표시 부분을 구분해 준다.

    예시) 기본 MFC indicator

                  ID_SEPARATOR                                  ① ID_INDICATOR_CAPS    ③ ID_INDICATOR_SCRL

                                                              ②ID_INDICATOR_NUM 

 - 클래스 : CStatusBar


BOOL CStatus::SetPaneText(int nIndex, LPCTSTR lpszNewText, BOOL bUpdate = TRUE);

참고주소 : http://msdn.microsoft.com/en-us/library/0xz1t794(VS.80).aspx

lpszNewText 문자열에 의해 패널(panel) 문자열을 설정한다.

리턴 : 성공시 TRUE, 실패시 FALSE

nIndex : 설정된 패널의 위치(0부터 시작)

lpszNewText : 새로운 패널 텍스트의 포인터

bUpdate : TRUE면 문자열이 설정될 때 패널이 무효화(invalidate) 된다.


SHORT GetKeyState(int nVirtKey);

참고주소 : http://msdn.microsoft.com/en-us/library/ms646301.aspx

특정 가상 키의 상태를 얻을 때 사용. 상태는 키가 눌렸는 지 땠는 지 불이 켜 졌는지를 확인한다.

nVirtKey : 가상키 값.

리턴 : 가상 키의 상태를 나타내는 값

최상위 비트가 1이면 키가 눌린 상태. 아니면 땐 상태이다.

최하위 비트가 1이면 키가 켜진 상태 0이면 꺼져 있는 상태이다.(CAPSLOCK등)


다이얼로그 바

Docking이 가능한 대화상자.

대화상자의 모든 기능을 가진다.

컨트롤바를 상속받음.


style -> child, border->none, title bar->false로 주로 사용한다.

메인 프레임에서 주로 사용한다.

CDialogBar m_wndDialogBar;

 

CDialogBar::Create

virtual BOOL CDialogBar::Create(CWnd* pParentWnd, LPCTSTR lpszTemplateName, UINT nStyle, UINT nID);

virtual BOOL CDialogBar::Create(CWnd* pParentWnd, UINT nIDTemplate, UINT nStyle, UINT nID);

참고주소 : http://msdn.microsoft.com/en-us/library/z0awcsf4(VS.80).aspx

lpszTemplateName이나 nIDTemplate로 다이얼로그 리소스 템플릿을 불러오고 

다이얼로그 윈도우를 만들고 스타일을 설정하고 CDialogBar 객체와 윈도우를 관련성 있게 만든다.

리턴 : 성공시 TRUE, 실패시 FALSE

pParentWnd : 부모 CWnd 객체 포인터

lpszTemplateName : CDialogBar 객체 다이얼로그 템플릿의 이름의 포인터

nStyle : 다이얼로그바의 배치 스타일. 다음 스타일이 가능하다.

CBRS_TOP, CBRS_BOTTOM, CBRS_LEFT, CBRS_RIGHT

CBRS_NOALIGN : 부모 윈도우가 크기가 변할 때 다시 위치 지정을 하지 않는다.

nID : 다이얼로그바의 컨트롤 ID

nIDTemplate : CDialogBar


'컴퓨터 공부 > MFC 프로그래밍' 카테고리의 다른 글

[5월 18일 3교시] 다이얼로그2  (0) 2009.05.18
[5월 18일 2교시] 다이얼로그  (0) 2009.05.18
[5월 15일 3교시] 툴바  (0) 2009.05.15
[5월 15일 2교시] 메뉴 3  (0) 2009.05.15
[5월 15일 1교시] 메뉴 2  (0) 2009.05.15