본문 바로가기

2010/06

MFC 분할 윈도우(3) - 정적 분할 윈도우 만들기 SDI기반에서 정적 분할 윈도우를 만드는 방법에 대한 간단한 예제입니다. 정적 분할 윈도우를 만드는 방법은 기본적으로 동적 분할 윈도우와 비슷합니다. ◎ 새로운 View 생성 정적 분할 윈도우는 하나의 Document에 연결된 서로 다른 뷰를 사용하기 위해 사용하는 것입니다. 다시 말해서 같은 데이터를 다른 방식으로 보여주기 위함이라고 볼 수 있겠지요. 그래서 다른 View를 하나 더 생성해야 합니다. 필요에 따라 CView나 FormView 같은 클래스의 상속을 받 아서 생성하면 되겠죠. 저는 FormView에서 상속을 받아 만들었습니다. FormView의 스타일은 Child이어야 합니다. View를 생성한 후에는 MainFrame 클래스에 Doc의 헤더파일과 생성된 뷰의 헤더파일을 인클루드 합니다. .. 더보기
MFC 분할 윈도우(2) - 동적 분할 윈도우 만들기 SDI기반에서 동적 분할 윈도우를 만드는 방법에 대한 간단한 예제입니다. 동적 분할 윈도우를 만드는 과정은 아주 간단합니다. MFC 프로그램에서 윈도우의 형태와 메뉴바 등과 관련된 부분을 담당하는 부분은 CMainFrame입니다. 분할 윈도우도 CMainFrame에서 만들어줍니다. 아래와 같이 두 과정을 거치면 쉽게 만들 수 있습니다. ◎ CSplitterWnd 클래스의 인스턴스 선언 처음해야 될 일은 분할 윈도우가 가지는 여러가지 기능을 담당하는 CSplitterWnd 클래스의 인스턴스를 선언합니다. CMainFrame의 멤버 변수로 아래와 같이 선언합니다. CSplitterWnd m_wndSplitter; ◎ OnCreateClient 함수의 재정의 프로그램 상에서 분할 윈도우의 위치는 프레임 윈도우.. 더보기
MFC 분할 윈도우(1) 분할 윈도우(Splitter Window)는 하나의 프레임 윈도우를 두 개 이상의 윈도우로 나누어 주는 기능을 하는 윈도우 입니다. 가장 대표적인 예로 아래 그림의 윈도우 탐색기를 들 수 있으며 같은 데이터를 보여주는데 보여주는 위치나 보여주는 형태가 다른 경우에 많이 사용합니다. 사용자는 분할 윈도우를 이용하여 원하는 만큼의 뷰 영역을 설정 할 수 있고, 각각의 뷰 영역에는 뷰 윈도우 뿐만 아니라 여러가지 일반 윈도우도 올라 갈 수 있습니다. 분할 윈도우에는 다음과 같이 두 가지 종류가 있습니다. ◎ 동적 분할 윈도우 - 프로그램 실행 중 윈도우를 하나로 합치거나 나눌 수 있으며 스크롤바 끝 부분에 분할바가 있습니다. 분할바를 윈도우의 한 쪽 끝까지 움직이면 나누어져있던 윈도우가 합쳐지고 끝 쪽에 있는.. 더보기
마우스 이벤트 관련 함수 정리 마우스 이벤트와 관련된 함수로 아래와 같은 것들이 있습니다. ◎ GetCursorPos 현재 마우스 커서의 위치를 얻어주는 함수이며 원형은 아래와 같습니다. GetCursorPos(LPPOINT lpPoint) CPoint 형으로 변수를 하나 선언하고 그 주소를 인자로 넣어주면 마우스 커서의 x, y 좌표를 변수에 담 아줍니다. ◎ SetCursorPos 마우스 커서를 X, Y의 위치로 이동시키는 함수이며 원형은 아래와 같습니다. SetCursorPos(int X, int Y) 인자로 넣는 x, y 좌표의 위치로 마우스 커서를 이동시켜줍니다. ◎ mouse_event 마우스와 관련된 여러가지 이벤트를 발생시키는 함수입니다. 원형은 아래와 같습니다. mouse_event( DWORD dwFlags, DWO.. 더보기
티스토리 초대장 배포합니다~(8장) --- 마감~!!! i n v i t a t i o n 티스토리 초대장 + 남은 초대장 수 : 00 안녕하세요! 티스토리에 보금자리를 마련하시려는 여러분께 초대장을 배포해 드리려고 합니다. 나만의, 내 생각을, 내 기억을 담는 소중한 블로그를 만들고 싶다면 티스토리로 시작해보세요! 티스토리 블로그는 초대에 의해서만 가입이 가능합니다. 원하시는 분은 댓글에 E-mail 주소를 남겨주시면 초대장을 보내드립니다. 남겨주실 때에는 꼭 비밀댓글로 남겨주세요! 초대장을 보내드리고 바로 개설하시지 않으신 분들은 초대장을 회수할 수도 있으니 바로 개설해주세요! Yes 이런 분들께 드립니다! 1. 다른 블로그를 사용해보셨던 분 2. 이메일 주소가 정상적인 분 3. 블로그를 시작하려는 이유를 남겨주신 분! No 이런 분들께 드리지 않아요! .. 더보기
PreCreateWindow 함수의 재정의... PreCreateWindow는 MFC가 제공하는 가상함수들 중 하나로 사용자가 쉽게 재정의하여 사용이 가능합니다. 이름처럼 윈도우가 생성되기 직전에 호출되며, 생성될 윈도우에 대한 정보가 파라미터로 넘어오게 되고, 이 파라미터가 가지는 값을 이용해서 윈도우가 생성됩니다. 따라서 개발자가 윈도우의 스타일이나 속성을 변경하고 싶을때는 PreCreateWindow가 넘겨받는 파라미터를 변경시켜주면 생성되는 윈도우의 속성도 따라서 변하게 되는것입니다. 함수의 원형은 아래와 같습니다. MDI 형태의 프로젝트 일 경우, CMainFrame과 CChildFrame에서 모두 찾을 수 있습니다. BOOL PreCreateWindow(CREATESTRUCT& cs); 파라미터로 넘어오는 CREATESTRUCT는 아래와 같.. 더보기