사실은 별루 하는 일 없다.

원래 VC++ 프로그램 짜듯 짜되,
배경이미지를 하나 로딩해서 매번 Paint 해주면 된다.


다음과 같이 클레스 선언부에 m_BG라는 비트맵을 선언


HBITMAP m_BG

초기화 부분에서 비트맵 로드한다음

BOOL CCALLIDDlg::OnInitDialog()
{
        CDialog::OnInitDialog();

        // Set the icon for this dialog.  The framework does this automatically
        //  when the application's main window is not a dialog
        SetIcon(m_hIcon, TRUE);                        // Set big icon
        SetIcon(m_hIcon, FALSE);                // Set small icon
        
        CenterWindow(GetDesktopWindow());        // center to the hpc screen

        // TODO: Add extra initialization here
  m_BG = (HBITMAP)LoadImage(
    AfxGetApp()->m_hInstance,
    MAKEINTRESOURCE(IDB_BG),
    IMAGE_BITMAP,
    0,
    0,
    0);

        return TRUE;  // return TRUE  unless you set the focus to a control
}

OnPaint에서 다음과 같이 걍 뿌려준다
void CCALLIDDlg::OnPaint()
{
        CPaintDC dc(this); // device context for painting


        // TODO: Add your message handler code here
        RECT rc;
  GetClientRect( &rc);

  HDC hdcMem = CreateCompatibleDC(NULL);
  HBITMAP h = (HBITMAP)SelectObject(hdcMem, m_BG);
  
  BitBlt(
    dc.GetSafeHdc(),
    0,
    0,
    rc.right-rc.left,
    rc.bottom-rc.top,
    
    hdcMem,
    0,
    0,
    SRCCOPY
    );
  
  SelectObject( hdcMem, h);
    
  // Do not call CDialog::OnPaint() for painting messages
}

facebook posting twit

  • IE Control을 사용하여 만든 어플리케이션에서 javascript로 어플리케이션에 정의된 함수 호출하는 방법
  • 윈도우 옮기는 API – SetWindowPos
  • GDI+ Programming 방법
  • 투명 윈도우 만들기
  • 마우스로 윈도우 드래그하여 이동시키는 비기
  • BITMAP 오브젝트에서 가로,세로 크기 알아내기
  • 듀얼 모니터에서 Focused Monitor의 Rect 알아내기
  • 프로그램에서 버젼(version) 정보 읽어주는 소스
  • RDP(Remote Desktop Protocol) Port 값 가져오고/바꿔주기
    Tagged on:
  • Leave a Reply