我使用下面的代码来设置真彩色工具栏
CBitmap bm;
bm.LoadBitmap(IDB_HOTTOOLBAR);
img.Create(25,24,ILC_COLOR24, 0, 0);
img.SetBkColor(GetSysColor (COLOR_BTNFACE));
img.Add(&bm,RGB(255, 0, 255));
m_wndToolBar.GetToolBarCtrl().SetHotImageList(&img);但是本来该是透明的,也就是应该是框架颜色的地方却成了黑色,不知道怎么解决?
img.SetBkColor()似乎不起作用,不论设置什么颜色最后都是黑色
CBitmap bm;
bm.LoadBitmap(IDB_HOTTOOLBAR);
img.Create(25,24,ILC_COLOR24, 0, 0);
img.SetBkColor(GetSysColor (COLOR_BTNFACE));
img.Add(&bm,RGB(255, 0, 255));
m_wndToolBar.GetToolBarCtrl().SetHotImageList(&img);但是本来该是透明的,也就是应该是框架颜色的地方却成了黑色,不知道怎么解决?
img.SetBkColor()似乎不起作用,不论设置什么颜色最后都是黑色
解决方案 »
- 按钮加载位图,但不显示
- 如何像网页里面,鼠标带有动态效果?
- 100分 用wininet编写HTTP程序,无论用多少个线程,但wininet一次只让五个线程调用
- 为什么当频繁调用CImageList::Copy时,会间或出现句柄非法的错误呢?
- 关于阻塞式调用Connect,出错迅速返回的问题。
- 如何做断点重传或断点续传的问题
- 请问各位大侠如何CListView中的视图中响应ITEMDBLClICK事件
- 如何用VC捕获打印任务中的‘打印页数’和‘所有者’这两个信息?
- 拜托了!在基于对话框的程序中如何实现数据的串行化
- 请问各位大虾,如何在我的应用中建立新的数据库,比如在每一次使用"新建"菜单时都重新建一个新的数据库mydb.mdb
- 各位大侠,问个VC访问Access数据库的问题 我新手,请多多指教
- 在Dialog中加入菜单后,DC中获得的CPoint不准却
//img.SetBkColor(GetSysColor (COLOR_BTNFACE));不用
img.Add(&bm,RGB(255, 0, 255)); //保证你的bitmap的mask是RGB(255,0,255)
下面的一个例子是应用到了整个窗口,你可以适当的改正试一试。
typedef BOOL (WINAPI *_SetLayeredWindowAttributes)(HWND hWnd,COLORREF cr,
BYTE bAlpha,DWORD dwFlags);
_SetLayeredWindowAttributes SetLayeredWindowAttributes=NULL;
SetLayeredWindowAttributes=(_SetLayeredWindowAttributes)GetProcAddress(
hInst,"SetLayeredWindowAttributes");
if(!SetLayeredWindowAttributes)
{
MessageBox("Load Function Error!");
return FALSE;
}
::SetWindowLong(m_hWnd,GWL_EXSTYLE, GetWindowLong(m_hWnd,
GWL_EXSTYLE)^WS_EX_LAYERED);
SetLayeredWindowAttributes(m_hWnd,0,100,LWA_ALPHA);
RedrawWindow();