클래스 멤버 변수는 private 또는 protected 로 설정하여 보호하면 내부 함수 외에 다른 외부 함수에서는 접근이 안되어 내부 함수로 Get/Set 함수를 매번 만들어야 한다. 개발 중에 이것은 불편함으로 클래스 안에 friend 선언해주면 접근이 가능해진다. class A { friend class B; // B클래스 모든 함수가 접근 가능 friend void B::b(); // b() 함수만 접근 가능 // 컴파일 에러 남???????? private: int a; }; class B { public: void b(); }; B::b() 는 A 클래스의 멤버 변수인 a에 접근이 가능해진다. 중요> 최종 버전에는 향후 유지 보수를 위해 설계를 수정하고 제거하는것이 바람직하다.
상태바 윈도우의 하단에 위치하여 프로그램의 현재 상태 정보를 보여주는 역활을 한다. VisualStudio 프로젝트에서 자동으로 만들어 주는 기본 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 static UINT indicators[] = { ID_SEPARATOR, // 상태 줄 표시기 ID_INDICATOR_CAPS, ID_INDICATOR_NUM, ID_INDICATOR_SCRL, }; class CMainFrame : public CFrameWnd { ... protected: // 컨트롤 모음이 포함된 멤버입니다. CStatusBar m_wndStatusBar; }; int CMainFrame::OnCreate(LPC..
툴바 메뉴 항목의 기능을 빠르게 수행하는 목적으로 사용, 메뉴 항목에 없는 기능을 독립적으로 제공 하기도 함. 리소스에 툴바 만들고 생성하는게 간단하다. 프레임 윈도우에 툴바 생성시킨다. 툴바에 이미지 그리고 속성 지정한다. Prompt : 상태바와 툴팁에 보여줄 문자 프로젝트 만들면 Frame윈도우 클래스에 구현된 기본 생성 코드 이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 class CMainFrame : public CFrameWnd { ... protected: CToolBar m_wndToolBar; }; int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) ..
MFC 컨텍스트 메뉴 마우스 우측 버튼을 누를때 열리는 메뉴 OS 에서 WM_CONTEXTMENU 메시지를 제공하며 이 메시지가 발생하는 경우 1. 마우스 우측 버튼을 누른 경우 2. Shift+F10 키를 누른 경우 3. VK_APPS 에 해당하는 키를 누른 경우 afx_msg void OnContextMenu(CWnd* pWnd, CPoint pos); pWnd : 마우스 커서 가 있는 윈도우 pos : 마우스 커서 위치오 스크린 좌표 - 컨텍스트 메뉴 화면 표시 BOOL TrackPopupMenu(UINT nFlag, int x, int y, CWnd* pWnd, LPCRECT lpRect = 0); nFlag : TPM_LEFTALIGN, TPM_CENTERALIGN, TPM_RIGHTALIGN ..