본문 바로가기

프로그래밍

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 메시지가 발생합니다. 메시지의 이름이 달라졌을 뿐 개발자 입장에서 보면 크게 다를것은 없습니다. 그러나 메시지가 발생한 원인에서 차이가 있으므로 작성할 코드의 특징이 달라질 가능성이 큽니다..
하얀새님 블로그 새상엔 넑고 그 넑은 곳에는 정리가 잘된 곳이 있다 API 소스들~ http://blog.naver.com/PostList.nhn?blogId=whitephenix&categoryNo=3
1 http://blog.naver.com/PostList.nhn?blogId=wlsspakss&categoryNo=93
API 기본 소스 #include //wndows.h include //전역변수 HINSTANCE g_hInst; //전역 인스턴스의 핸들선언 LPCTSTR lpszClass = TEXT("WinMain"); HWND g_hWnd; //윈도우의 핸들 //함수 프로토타입 LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); //윈도우 메인 함수 int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance ,LPSTR lpszCmdParam, int nCmdShow) { MSG Message; //메세지 구조체 선언 WNDCLASS WndClass; //윈도우 클래스 선언 g_hInst = hInstance; //인스턴스를 얻는다 ..