본문 바로가기
반응형

C & C++444

자신의 자식 모달 모두 닫는법 자신의 자식 모달 대화상자 모두 닫는 방법입니다. void CloseChildPopup(HWND hWnd) { HWND hPopup = GetWindow( hWnd, GW_HWNDPREV ); if( !hPopup ) return; if( ::GetParent(hPopup) == hWnd && ! IsChild( hWnd, hPopup ) ) ::SendMessage( hPopup, WM_CLOSE, 0, 0 ); } [출처] 자신의 자식 모달 대화상자 모두 닫는 방법|작성자 까미유 2012. 6. 20.
화면 깜박임 방지 1.윈도우 화면 깜빡임을 방지하기 위해서는 아래와 같은 코드를 추가하여야 한다. 1. OnPaint() 에서 더블버퍼링을 사용한다. 2. 배경색이 OnPaint() 에서 그리는 색과 다른 경우에는 WM_ERASEBKGND 처리를 수정하여야 한다. 이는 아래와 같이 수정하라. 1) 대화상자에 아래와 같은 내부 변수를 추가하라. bool m_bIsEraseBkgnd; 2) 대화상자 생성자에 위의 값을 false 로 초기화하라. 3) 대화상자의 WM_ERASEBKGND 처리를 아래와 같이 하라. BOOL CFileTransferView::OnEraseBkgnd(CDC* pDC){ if( m_bIsEraseBkgnd ) { return __super::OnEraseBkgnd(pDC); } else { retur.. 2012. 6. 20.
자식 윈도우 일괄 배치 자식 윈도우를 일관 재배치하려면 아래의 메소드를 사용하면 된다. HDWP BeginDeferWindowPos( int nNumWindows );HDWP DeferWindowPos( HDWP hWinPosInfo , HWND hWnd , HWND hWndInsertAfter , int x, int y, int cx, int cy, UINT uFlags ); BOOL EndDeferWindowPos( HDWP hWinPosInfo ); BeginDeferWindowPos() 메소드를 호출하여서 자식 윈도우의 크기와 위치를 저장하기 위한 메모리를 할당받는다. DeferWindowPos() 메소드를 호출하여서 각 자식 윈도우의 크기와 위치를 설정한다. EndDeferWindowPos() 메소드를 호출하여서 위에.. 2012. 6. 20.
리스트 컨트롤 사용예제 - 리스트 List Control List control은 아이콘, 작은 아이콘, 간단히, 보고서의 네 가지 형태로 데이터를 보여주는 컨트롤입니다. 이중 보고서 모드가 List control에 설정된 데이터를 가장 자세히 보여주는 모드입니다. 따라서 List control에 데이터를 설정할 때는 이 모드를 기준으로 하면 됩니다. 보고서 모드에는 하나의 아이템에 대해 가로줄로 여러 가지 데이터를 보여줄 수 있는데, 이러한 가루 줄을 각각 컬럼이라고 하고, 컬럼 맨 위에 각 컬럼의 제목을 표시하는 줄을 컬럼 헤더라고 합니다. |구현하고자 하는 기능| List control을 포함하는 대화상자를 만들어 보도록 합니다. 선택항목 삭제, 위로, 아래로 등을 이용해 위치를 바꾸고 삭제하는 프로그램을 만들어 보겠습니다. |Ap.. 2012. 6. 20.
가상키 코드 리스트 Virtual-Key Codes The following table shows the symbolic constant names, hexadecimal values, and mouse or keyboard equivalents for the virtual-key codes used by the system. The codes are listed in numeric order. Constants VK_LBUTTON (0x01) Left mouse button VK_RBUTTON (0x02) Right mouse button VK_CANCEL (0x03) Control-break processing VK_MBUTTON (0x04) Middle mouse button (three-button mouse) VK.. 2012. 6. 12.
CFileDialog 사용시 왼쪽버튼 바로가기 만들기(탐색기형식) ins_dlg.lStructSize = sizeof( OPENFILENAME ) + 12; ex) 코드 : 다중파일 선택 char name_filter[] = "모든 파일(*.*)|*.*||"; CFileDialog ins_dlg(TRUE, NULL, NULL, OFN_EXPLORER | OFN_NOVALIDATE | OFN_HIDEREADONLY | OFN_ALLOWMULTISELECT, name_filter, this); ins_dlg.m_ofn.nFilterIndex = 2; ins_dlg.m_ofn.nMaxFile = MAX_PATH; char *p_file_name_buffer = new char[MAX_PATH]; strcpy(p_file_name_buffer, ""); ins_dlg.m_of.. 2012. 6. 12.
반응형