{
    CRect rect;
    m_picture.GetClientRect(&rect);       //m_picture
Picture Control控制項變數,獲得控制項的區域物件

    CImage image;       
    image.Load(m_path);  
    CDC* pDC = m_picture.GetWindowDC();    //
獲得顯示控制項的DC
    image.Draw( pDC -> m_hDC,rect);      //
圖片類的圖片繪製Draw函數

    ReleaseDC(pDC);
}

透過上面程式的實現可以顯示出JPG圖片在Picture Control控制項中,但是當視窗被最小化或者被其他應用程式覆蓋後,這個時候圖片會沒有更新,那麼就需要對Picture Control中圖片進行重繪,通過獲得WM_PAINT消息進行處理,對回應OnPaint()函數進行處理:

void Chbgk_picDlg::OnPaint()
{ 
    if (IsIconic())
    {
           ..............
    }
    else
    {   
           CDialog::OnPaint();     //
重繪對話方塊
           CDialog::UpdateWindow(); //
更新windows視窗,如果沒有呼叫這個函數,圖片顯示還會出現問題
           Show_picture();     //
重繪圖片函數
    }
}

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 zixuan 的頭像
    zixuan

    Johnny Worker, Keep Working.

    zixuan 發表在 痞客邦 留言(0) 人氣()