반응형 C & C++/MFC 컨트롤199 [Dialog] 전체화면 만들기 menu등의 창이 남아 있고, frame window의 모양을 하고 있는 application을 전체 화면으로 만들기 위해서는, task bar를 없애고, 윈도우의 크기를 재조정해 주면 될 것이다. 그러나 일반적으로 전체 화면으로 바꿀 때는 frame이 없는 윈도우를 사용할 경우가 많으므로 여기서는 그러한 방법에 대해 이야기 한다. 즉, powerpoint의 slide show를 할 때와 같은. 기본 원리를 이해하면 다른 경우도 쉽게 응용이 가능하다. 실제 작업 순서는 다음과 같다. 일단 task bar를 감추고, 모니터의 크기를 알아낸 후, 그 크기만한 팝업 윈도우를 만들어 그것을 화면에 나타나게 하면 된다. 이 때 '팝업 윈도우'란 CWnd 에서 상속을 받은 윈도우로, frame 도 없고 border.. 2011. 3. 29. [Tip] Task Bar 감추기 CWnd *pTaskBar = FindWindow("Shell_TrayWnd",NULL); pTaskBar->ShowWindow(SW_HIDE); 중요 : task bar를 감춘 프로그램은 task bar를 다시 보여주는 일도 반드시 해야한다. 그렇지 않으면 task bar가 없어져서 나타나지 않는다. task bar의 이름은 Spy++를 이용하면 쉽게 알 수 있다. 2011. 3. 29. [Tip] 타이틀바에 '제목없음' 없애기 CMainFrame의 PreCreateWindow함수에 [code cpp] cs.style &= ~FWS_ADDTOTITLE; [/code] 를 추가해 준다. 2011. 3. 29. [Tree] 트리컨트롤러에 체크박스 삽입하기 VC++ 6.0 IDE로 CTreeCtrl control을 집어 넣은 후 property 대화 상자를 통해 tree control의 property를 설정하면 제대로 작동하지 않는 경우가 있으므로, 직접 코드로 집어 넣는다. VC++ 9.0 (Visual Studio 2008) 의 경우에는 CTreeCtrl이나 CListCtrl 의 경우 속성 대화 상자에 모든 속성이 나와 있지는 않다. 즉, 코드상으로 변경시켜 줄 수 있는 속성이 속성 대화 상자에 나와 있지 않는 것이 있으므로 직접 코드로 작성해 주는 편이 낫다. [code cpp] // check box를 트리에 추가하기 위해서는 TVS_CHECKBOXES 속성을 setting 해야 한다. // _treeResult가 CTreeCtrl 변수의 inst.. 2011. 3. 29. [Scrollbar] Scrollbar message handler 처리하기 CDialog-derived 에서뿐만이 아니라, SDI나 MDI에서도 동적으로든 정적으로든 CScrollBar를 쓰게 될 때, scrollbar에서 오는 message를 일일이 작성해 줄 때가 있는데, 다음과 같은 코드가 자주 사용된다. void CTestView::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { // scroll 되기 전의 위치를 저장해 놓는다. UINT nOldPos = pScrollBar->GetScrollPos(); int diff = 0; // scroll 될 정도 switch(nSBCode){ // 왼쪽이 눌리면 예전 값에서 1을 뺀다. case SB_LINELEFT: diff = -1; break; // PAGE의 .. 2011. 3. 29. [Grid] MSFlexGrid 사용하기 1. 이벤트 입력 받는 방법 2. 체크 박스 흉내 내는 방법 3. 클릭된 쎌 찾는 방법 ////////////////////////////////////////////////////////////////////////////// 1. 이벤트 입력 받는 방법 2가지를 해 주어야 한다. active x control에서 이벤트를 받을 수 있게 event sink map을 만들어 주어야 하고, 그 이벤트들에 대한 message map을 만들어 주어야 한다. 우선 헤더 파일에, [code cpp] //h 파일 afx_msg void OnClickGrid(); DECLARE_EVENTSINK_MAP() [/code] 선언을 해준 후, cpp 파일에, [code cpp] //CPP파일 BEGIN_EVENTSINK_.. 2011. 3. 29. 이전 1 ··· 24 25 26 27 28 29 30 ··· 34 다음 반응형