我想把一副位图显示到PICTURE控件里,但是要灵活用代码显示,而不是在PICTURE控件里设置一下属性,将TYPE改成“Bitmap”,我是想用程序的方式在PICTURE控件里显示我的位图,麻烦各位了!

解决方案 »

  1.   

    CStatic * pPicture;
    ……
    HBITMAP hBitmap = ::LoadImage(……);
    pPicture->SetBitmap(hBitmap);
      

  2.   

    也可以这样,将Type设置为"Frame"         CDC  dc;
    CDC * pDC = m_Dest.GetDC();//m_Dest就是你那个picture
    if(!dc.CreateCompatibleDC(pDC))
    {
    return;
    } CRect rect;
    m_Dest.GetClientRect(&rect);

             CBitmap Bitmap pOld;
    BITMAP  bm;
    HBITMAP  hbmp = (HBITMAP)LoadImage(NULL, _T(lpFilePath), IMAGE_BITMAP,
    0, 0, LR_CREATEDIBSECTION | LR_DEFAULTSIZE | LR_LOADFROMFILE); Bitmap.Attach(hbmp);

    Bitmap.GetBitmap(&bm);
    pOld = dc.SelectObject(&Bitmap);
    pDC->BitBlt(0, 0, bm.bmWidth, bm.bmHeight, &dc, 0, 0, SRCCOPY);
             dc.SelectObject(pOld);
    m_Dest.ReleaseDC(pDC);
    }
      

  3.   

    我能不能把其他格式的文件用这种方式显示在这个FRAME里,是不是要做过格式转换。
      

  4.   

    PICTURE控件我经过手动拉伸之后,怎么样得到它的实际宽度和实际高度?请教?
      

  5.   

    CStatic * pPicture;
    RECT rect;
    pPicture->GetClientRect(&rect);
    int width = rect.right-rect.left;
    int height = rect.bottom-rect.top;