본문 바로가기

Visual Studio 2008

Visual C++ 2008 MFC Chapter 10 메뉴~ - 4 지금까지 사용한 메뉴 코드는 내부적으로 TrackPopupMenu()함수를 가지고 만들어진 것이라고 한다. 이 함수의 원형은 다음과 같다. BOOL TrackPopupMenu(UINT nFlags, //메뉴 윈도우의 위치, 에니메이션효과 등 동작특성을 결정 int x, int y, //출력할 좌표 **반드시 스크린 기준 CWnd* pWnd, // WM_COMMAND 메시지를 전송할 윈도우 객체의 주소. LPCRECT lpRect = NULL //이값은 현재 사용하지않음. ); 다음으로는 속성값들을 정리한 내용이다 TPM_CENTERALIGN 지정한 위치의 중앙에 오게한다. TPM_LEFTALIGN 지정한 위치의 좌측에 정렬 TPM_RIGHTALIGN 지정한 위치의 오른쪽에 정렬 TPM_BOTTOMALIG.. 더보기
Visual C++ 2008 MFC Chapter 10 메뉴~ -3 다른 메뉴를 만들듯이 일시 정지 메뉴를 만들고 일시정지 메뉴를 만들기 전에 구분선을 하나 넣어본다.[생성시에 메뉴에 다 한글로 써있으니 설명이 필요치 않다.] m_bRunning 을 넣었듯이 m_bPause 도 넣어준다. 역시 마찬가지로 시작 종료 메뉴를 만든것처럼 void CMainFrame::OnMenuPause()와 void CMainFrame::OnUpdateMenuPause(CCmdUI *pCmdUI) 를 추가하고 다음과 같이 입력한다. ========================================================== void CMainFrame::OnMenuPause() { if(m_bPause)AfxMessageBox(_T("다시 시작합니다.")); elseAfxMes.. 더보기
Visual C++ 2008 MFC Chapter 10 메뉴~ -2 아까의 코드에서 헤더파일 public 부분에 BOOL m_bRunning; 으로 플래그를 추가해주고 cpp에 가서 =================================================== CMainFrame::CMainFrame() { // TODO: 여기에 멤버 초기화 코드를 추가합니다. m_bRunning = FALSE; //초기화 } =================================================== 처럼 추가수정을 하여 초기화를 해준뒤 =================================================== void CMainFrame::OnMenuStart() { m_bRunning = TRUE;//실행 중이라는 의미로 플래그를 T.. 더보기
Visual C++ 2008 MFC Chapter 10 메뉴/바로 가기 키/도구 모음/상태 표시줄 내가 생각해도 챕터 제목 참.. 뭐 직설적이긴 하네. 이번에는 가장 흔한 HelloWorld 예제가 쓰인다. 문제는 프로젝트명을 소문자로 적었다는거. 으. 소문자 하면 졸백같다는 이야기가 뼈저리게 느껴진다. 책에서 참조하는 HelloWorld 의 코드 LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { int wmId, wmEvent; PAINTSTRUCT ps; HDC hdc; switch (message) {//여기부터 case WM_COMMAND: wmId = LOWORD(wParam); wmEvent = HIWORD(wParam);//여기까지 굵은 글씨. // 메뉴의 선택 영역을 구문 분석합니다. swi.. 더보기
Visual C++ 2008 MFC Chapter 12 버튼 컨트롤 버튼 컨트롤 부분은 책에 이미지 적으로 설명이 잘 되어있기때문에 딱히 뭔가 적어야 할 것 같지는 않다. 본인이 책의 내용을 모두 따라서 착실히 하고 놓칠만한 부분의 코드 뒤편에 주석을 달아 놓은 것을 첨부하며 본 코드는 모두 책을 따라한게 아니고 몇몇 아이콘들의 명칭이 기본명칭[숫자가 늘어나는 식의] 으로 되어있음을 알린다. 최후 스샷. 더보기