본문 바로가기

프로그래밍/MFC

MFC 다이얼로그 스크롤 사용 소스 이 문서에서는 스크롤 막대를 resizeable 대화 상자를 만드는 방법에 대해 설명합니다. 프로세스는 네 가지 기본적인 부분으로 구성됩니다. 리소스 편집기에서 속성 대화 상자의 가로 스크롤 및 세로 스크롤 스타일을 선택하십시오. 대화 상자에서 resizeable 수 Resizing 테두리 스타일을 선택하십시오. WM_VSCROLL 및 WM_HSCROLL 메시지 처리기를 재정의하십시오. 스크롤 막대 범위가 원래 크기보다 작은 수 크기를 줄이면 설정하려면 WM_SIZE 메시지 처리기를 재정의하십시오. 추가 정보 세로 스크롤 막대를 사용하여 resizeable 대화 상자를 만들려면 다음과 같이 하십시오. 응용 프로그램 마법사를 사용하여 Microsoft... 세로 스크롤 막대를 사용하여 resizeable ..
MFC 를 이용한 Direct3D 프로그래밍 차례 소개 참고도서 참고링크 MFC 프로젝트 만들기 새 프로젝트 만들기 라이브러리 링크 시키기 프로그램 구조 이해하기 초기화 과정 렌더링 과정 마무리 과정 Direct3D 에 맞게 MFC 프로그래밍하기 C3DBase 클래스 만들기 CChildView 클래스 개조하기 CMainFrame 클래스 개조하기 CMFC4Direct3DApp 클래스 개조하기 다운로드 (준비중) 1. 소개 [Bottom] [Top] Direct3D 는 게임에서 주로 많이 사용되고 있으며 MFC 는 응용 프로그램 개발에 많이 사용되고 있다. 이렇게 사용 목적이 전혀 다른 두 가지를 게임 개발에 이용하는 것은 부적합하다. 하지만 게임 자체를 개발하는 것에는 부적합할지 모르나 개발에 필요한 보조 프로그램을 개발하는데는 가장 적합하지 않을까..
[MFC] CWinAppEx::CleanState() API/MFC | 2010/01/29 18:28 | Posted by 임준환( 멈비 ) 1. MFC Feature pack의 도킹 시스템( docking system ) MFC Feature pack 에서는 도킹 가능한 윈도우( window )를 생성할 수 있고, 또한 사용자는 그 윈도우를 프로그램이 제공하는 도킹 위치에 임의로 위치시킬 수 있다. 이와 같은 도킹 시스템( system )은 사용자의 편의를 위해 제공하는 기능이므로 레지스트리( registry )에 도킹된 윈도우의 정보들이 저장되고, 다시 해당 프로그램을 실행시켰을 때 레지스트리에 있는 정보를 이용해 재배치된다. 2. CWinAppEx::CleanState() 프로그램 개발자는 기본적으로 제공되는 도킹 윈도우의 레지스트리 저장 기능을 제어..
CView CDialog.cpp 내에서 CView.cpp로 메세지 보내는 부분: CMainFrame *pFrame = (CMainFrame *)AfxGetMainWnd(); CView *pView = (CView *)pFrame->GetActiveView(); pView->SendMessage(WM_USER_MSG1);
차일드 사용 스테틱 차일드 선언 CStatic m_wndStatic; //스태틱 컨트롤 윈도우 사용 m_wndStatic.Create(_T("CStatic"), WS_CHILD | WS_VISIBLE | SS_ICON | SS_CENTERIMAGE, CRect(20, 20, 120, 120), this, 1234); SS_BITMAP LpszWindowName 파라미터로 지정된 비트맵을 출력하는 스태틱 컨트롤을 만든다. nWidth와 nHeight파라미터는 무시되고 크기는 비트맵에 알맞게 계산된다. SS_BLACKFRAME 윈도우 프레임과 같은 색으로 그려진 사각형을 만든다. 디폴트 Windows색 구성은 검은색이다. SS_BLACKRECT 윈도우 프레임과 같은 색으로 채워진 사각형을 만든다. SS_CENTER 텍스..
MFC에서 hWnd와 hinst 얻어오기 1. hWnd 얻어오기 방법1: CWnd *pWnd = AfxGetMainWnd(); HWND hWnd = pWnd->m_hWnd; 방법2: CFrameWnd *hFrameWnd = GetParentFrame(); HWND hWnd = hFrameWnd->m_hWnd; 2. hInst 얻어오기 HINSTANCE hInst = AfxGetInstanceHandle(); 3. APP 받아오기 CWinApp* pApp = AfxGetApp(); pApp->LoadIcon(IDR_MAINFRAME);
마우스 이벤트 FC 프로그래밍에서 마우스 이벤트를 정히하면 마우스 왼쪽버튼을 눌렀을 때의 WM_LBUTTONDOWN 마우스 왼쪽버튼을 눌렀다가 놓았을때, WM_LBUTTONUP 마우스의 움직을을 받아주는 WM_MOUSEMOVE가 있다. 마우스가 움직일때, 발생하는 메시지인 WM_MOUSEMOVE는 메세지 핸들러인 OnMouseMove(UINT nFlags, CPoint point) 이다. 마우스가 LEAVE 될때, 즉 클라이언트 영역에서 클라이언트 영역 밖으로 나가면 발생되는 메세지는 WM_MOUSELEAVE 이다. WM_MOUSELEAVE 메세지/ 메세지 핸들러는 바로 쓸 수가 없다. 즉 마우스 움직임에서 마우스 LEAVE를 감지해야 한다. 정리하면, OnMouseMove메세지 핸들러에서 TRACKMOUSE 구조체의..
MFC MFC - 시스템 키보드 메시지 MFC / 게임 프로그래밍 2010/05/11 15:44 http://blog.naver.com/wlsspakss/105379642 윈도우 운영체에에서 alt 키와 f10 키는 조금 특별한 키로 분류 됩니다. 대부분의 윈도우 응용프로그램이 Alt 키나 f10 키를 누르면 메인 메뉴로 포커스가 이동합니다. 이와 같은 사용자 인터페이스의 일관성을 유지하려고,두 키에 대한 입력이 발생하면 WM_KEYDOWN 과 WM_KEYUP 메시지가 아니다 WM_SYSKEYDOWN 과 WM_SYSKEYUP 메시지가 발생합니다. 메시지의 이름이 달라졌을 뿐 개발자 입장에서 보면 크게 다를것은 없습니다. 그러나 메시지가 발생한 원인에서 차이가 있으므로 작성할 코드의 특징이 달라질 가능성이 큽니다..