我的系统是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
不是有必要的问题,是系统的工具栏控件根本不支持真彩的图片
只能自己来画,不用系统的控件。这样想画成什么样,它就是什么样。
谢谢楼上,我重画了,但是现在需要重画Button,有没有什么好的办法,或者提高一下方法