加载真彩色工具栏的问题

xdsg   2009-2-17 14:55 楼主
我的系统是wince5.0,工具是EVC4.0,硬件是三星2450.
做了一个应用程序,现在要美化,想给工具栏添加背景,或者自己重画工具栏,感觉还是前者容易,就选择了前者。但是加载失败。
if (!m_wndCommandBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_BOTTOM
                | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
                !m_wndCommandBar.LoadToolBar(IDR_TOOLBAR2))       
m_wndCommandBar.LoadTrueColorToolBar(48,IDB_BITMAP2,IDB_BITMAP2,IDB_BITMAP1);//如果去掉这句,应用程序正常工作,加上之后,应用程序的界面就打不开了。最后问题发现在这里
        CBitmap                cBitmap;
        BITMAP                bmBitmap;
        cBitmap.Attach(LoadImage(AfxGetInstanceHandle(),MAKEINTRESOURCE(uToolBar),IMAGE_BITMAP, 0, 0,
                                          LR_DEFAULTSIZE|LR_CREATEDIBSECTION) )。
不知道 cBitmap.Attach是不是有问题,还有在真彩色的类是网上找到的,TrueColorToolBar。是不是下面的参数我自己定义有问题
//#define TB_SETIMAGELIST     (WM_USER + 48)
#define TB_SETHOTIMAGELIST      (WM_USER + 52)
// #define TB_SETDISABLEDIMAGELIST (WM_USER + 54)
#define LR_DEFAULTSIZE 0x0040
#define LR_CREATEDIBSECTION 0x2000
             

回复评论 (3)

肯定是加载图片不成功,我觉得没有必要用真彩色。
点赞  2009-2-17 15:21
不是有必要的问题,是系统的工具栏控件根本不支持真彩的图片

只能自己来画,不用系统的控件。这样想画成什么样,它就是什么样。
点赞  2009-2-17 16:05
谢谢楼上,我重画了,但是现在需要重画Button,有没有什么好的办法,或者提高一下方法
点赞  2009-2-18 19:49
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复