반응형 분류 전체보기778 [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. 파일 저장하기 CFileDialog instance의 생성자로 false 를 주면 '저장하기' 대화 상자가 열린다. CFileDialog의 생성자로 지정할 수 있는 옵션은 MSDN 을 참고하면 다음과 같다. CFileDialog::CFileDialog( BOOL bOpenFileDialog, // true 이면 '열기', false 이면 '저장' 대화 상자 LPCTSTR lpszDefaultExtention = NULL, // 기본 확장자 LPCTSTR lpszDefaultFileName = NULL, // 기본 파일 이름 DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, // 옵션 LPCTSTR lpszFilter = NULL, // 파일 확장자 필터 CWnd* pP.. 2011. 3. 29. [ClipBoard] 클립보드 내용가져오기 if(OpenClipboard() == false){ return false; // 클립보드를 열지 못했다. 더이상 작업을 진행할 수 없다. } /// 클립 보드 내용을 얻어 가는 부분.. // 클립보드의 메모리 공간을 텍스트로 접근 설정. HGLOBAL hglobal = GetClipboardData(CF_TEXT); // 메모리를 잠가 놓고, LPTSTR lptstr = (LPTSTR)GlobalLock(hglobal); // CString 형 변수를 메모리로부터 만들고, CString str(lptstr); // begin of program specific jobs // --- 적당한 작업을 해준다. (여기선 텍스트에 약간의 변형을 줌. str.Replace(":",".."); str.Replac.. 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 ··· 104 105 106 107 108 109 110 ··· 130 다음 반응형