语句如下:
HICON icon = AfxGetApp()->LoadIcon(IDI_ABOUT);
m_wndStatusBar.GetStatusBarCtrl().SetIcon(1,icon);
显示的时候总是不能完全显示,我的图标设置为16*16的,但显示的感觉是32*32的,并且把超过状态栏的给自动裁剪了.希望高手帮忙,在线等.

解决方案 »

  1.   

    保证你的ICON色彩<=256,大了该函数不支持。
      

  2.   

    肯定是显示了32*32的了。
    ---------------
    Note   This member function calls the Win32 API functionLoadIcon, which can only load an icon whose size conforms to the SM_CXICON and SM_CYICON system metric values.
      

  3.   

    CStatusBarCtrl &sc =  m_wndStatusBar.GetStatusBarCtrl();
    CDC* pDC = m_wndStatusBar.GetDC();
    CRect rc;
    sc.GetRect(1,rc);
    CBitmap bmp;
    bmp.LoadBitmap(IDB_BITMAP1);
    pDC->DrawState(rc.TopLeft(),rc.Size(),&bmp,DST_BITMAP);
    --------------------------------
    如果将IDB_BITMAP1定义成16*16的,将你的ICON图标复制到这个位图上,可以实现一样的效果。不知合不合你的要求。