본문 바로가기
반응형

C & C++/MFC 컨트롤199

화면 깜박임 방지 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.
Toolbar & Menu //ㅡ,ㅡ//ㅡ,ㅡ//ㅡ,ㅡ//ㅡ,ㅡ//ㅡ,ㅡ//ㅡ,ㅡ//ㅡ,ㅡ//ㅡ,ㅡ//ㅡ,ㅡ//ㅡ,ㅡ//ㅡ,ㅡ//ㅡ,ㅡ//ㅡ,ㅡ//ㅡ,ㅡ//ㅡ,ㅡ CToolBar m_toolbar; m_toolbar.Create(this); m_toolbar.LoadToolBar(IDR_TOOLBAR1); m_toolbar.SetBarStyle(m_toolbar.GetBarStyle() | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC); CRect rect; GetClientRect(&rect); m_toolbar.MoveWindow(0,0,rect.right, 30); 이렇게 해서 생성한다음에.. 나중에 바꿀때는.. void CTest1Dlg:.. 2012. 2. 9.
기존 MFC UI 에 리본바 적용하기 기존 MFC Scribble Sample에 VS2008 Feature Pack에 포함된 MFC의 Ribbon UI를 적용해 보겠습니다. Visual C++ 2008 Feature Pack Download Visual C++ 2008 Feature Pack Documentaion 우선 기존 Scribble Sample을 가져 와서 VS 2008 로 Open 합니다. \Microsoft Visual Studio 9.0\Samples\1033\AllVCLanguageSamples\C++\MFC\ole 에 위치해 있습니다. 1. afxcontrolbars.h 헤더 추가 우선 리본을 적용하기 위해서 헤더를 포함하여야 합니다. stdafx.h 파일을 열어 상단에 afxcontrolbars.h 를 include합니다.. 2012. 1. 25.
MFC 툴바 트루컬러 이미지 사용 1. 사용할 메뉴를 생성하고 ID를 지정합니다. 위의 그림은 제가 하고 있는 프로그램에서 사용하는 메뉴를 직샷해서 넣었습니다. 사용자의 마음데로 생성해주세요. 2. 이번에는 Toolbar와 메뉴의 ID를 맞춰주어 같은 역할을 할수 있게 해줍니다. 원하는 툴바 버튼을 선택후 속성창에서 변경해 줍니다. 3. 메뉴와 툴바의 아이디를 매핑시켰다면 매킹시킨 메뉴의 이벤트를 생성합니다. 현재 위 이벤트를 모두 추가해 놓은 상태이기 때문에 Add and Edit 버튼이 비활성화 되어 있습니다. COMMAND와 UPDATE_COMMAND_UI를 App파일에 추가합니다. COMMAND : 메뉴에 대한 코딩을 합니다. 클릭시 이벤트 정의. UPDATE_COMMAND_UI : 메뉴를 활성화/비활성화 하는 것과 같은 메뉴에 .. 2011. 12. 19.
반응형