我按钮上贴了张图,我想按下去换张图

解决方案 »

  1.   

    先在按钮的Style里选中Bitmap和Owener   draw,然后把Caption改为ID的名称   
      加入一副图,图的ID   为按扭的ID加上U,F,X,D其中的一个,比如按钮ID为IDOK,那么图的ID就可以设为"IDOKU"   记得一定要加双引号,U代表按钮弹起时的图案,D代表压下时的,X代表按钮无用时的,F代表获得聚焦时的。   
      然后声明一个位图按钮类(CBitmapButton)的对象,调用AutoLoad函数,这个函数的两个参数分别是按钮的ID,和按钮父窗口的句柄   
      这样就可以把图显示在按钮上了除了以上方法还有一些,如loadimage,loadbitmap,setbitmap,你可以看看msdn有关这些函数的解释和应用 
      

  2.   

    case WM_COMMAND:
    switch(LOWORD(wParam))
    {
    case ID_BN1:
    switch(HIWORD(wParam))
    {
    case BN_PUSHED:
    SendMessage(hBn,BM_SETIMAGE,0,(LPARAM)hBitmap);
    break;
    }
    break;
    }
    break;
    有错请忽视之
      

  3.   

    case WM_COMMAND: 
    switch(LOWORD(wParam)) 

    case ID_BN1: //按钮ID,风格BS_BITMAP
    switch(HIWORD(wParam)) 

    case BN_PUSHED: //按下
    SendMessage(hBn,BM_SETIMAGE,0,(LPARAM)hBitmap); 
    break; 

    break; 

    break; 
    如果有错请忽视之
      

  4.   

    m_Button1.ModifyStyle(0,BS_BITMAP); 
    HICON hIcon = AfxGetApp()->LoadIcon(自己定义的ICON); 
    m_Button1.SetIcon(hIcon);
      

  5.   

    CBitmapButton  m_btn;//添加一个该类的对象
    //在初始化函数中加:
    m_btn.LoadBitmaps("IDB_BITMAP1","IDB_BITMAP2");  //初始化时为IDB_BITMAP1图,单击后为IDB_BITMAP2图
    m_button.SubclassDlgItem(IDC_BUTTON1, this);
    m_button.SizeToContent();