对话框上,有一个Picture控件,其Type为“BItMap”,加载的图片框为位图1(BITMAP1),我想在点一下按钮后控件能加载另一个位图(BITMAP2),
谁能给出详细的源代码?
或者讲一下完整的思路?

解决方案 »

  1.   

    首先,为这个picture控件定义一个CStatic的变量,而且你需要改变这个控件的ID号,不能是IDC_STATIC,其Type为“BItMap”。
    然后,添加一个按钮,并双击它为它添加函数。在这个函数里面添加下面的代码:
    myStatic.SetBitmap( ::LoadBitmap(NULL, MAKEINTRESOURC(OBM_CHECK)));
    就可以了。
      

  2.   

    see the link and its' links below, useful :http://www.codeproject.com/staticctrl/digistring.asp
      

  3.   

    picture 控件实际上是一个 CStatic 类的对象。
    解决上面问题的思路是这样的:
    (1) 获得picture(实际是CStatic)对象的指针.
    (2) 取得更换位图的句柄.
    (3) 调用对象的 SetBitmap(HBITMAP);函数更改位图.第一步实现:
    CStatic * pSat = (CStatic*)GetDlgItem(IDC_BITMAPPIC);
    // IDC_BITMAPPIC 是 picture 控件的 ID.第二步实现:
    HBITMAP hBitmap = ::LoadBitmap(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDB_BITMAP2));
    // IDB_BITMAP2 是更换位图的 ID.第三步实现:
    pSat->SetBitmap(hBitmap);