如何设置TOOLBAR中单个BUTTON的背景色?比如当鼠标停在一个BUTTON上面时,让这个BUTTON的背景色变成白色(100分醒目) 大家讨论讨论~~~~~我有想过重载TOOLBAR,可不知道要从哪里下手,郁闷~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 vckbase都找过了,能载的也载了,可就是没有我需要的。 http://search.csdn.net/Expert/topic/1231/1231087.xml?temp=2.386111E-02 _TrackMouseEvent(...)试试,如果鼠标在按钮上,设置标志为TRUE,然后MyButtoon.SetBkColor??(..); BOOL CMainFrame::PreTranslateMessage(MSG* pMsg) { if(WM_MOUSEMOVE == pMsg->message) { if(m_wndToolBar.GetSafeHwnd() == pMsg->hwnd) { DWORD dw = GetMessagePos(); CPoint pt(LOWORD(dw),HIWORD(dw));//鼠标的屏幕坐标 const int nButtonCount = m_wndToolBar.GetToolBarCtrl().GetButtonCount(); for(int i = 0 ; i < nButtonCount ; i++) { CRect r; m_wndToolBar.GetItemRect(i,&r); m_wndToolBar.ClientToScreen(&r); if(r.PtInRect(pt)) { UINT nID,nStyle; int nImage; m_wndToolBar.GetButtonInfo(i,nID,nStyle,nImage); m_wndToolBar.SetButtonInfo(i,nID,nStyle,12); TRACE("in %d \n" + CString(i + 48)); } } } } return CFrameWnd::PreTranslateMessage(pMsg);}用画图工具把工具栏所对应的位图加长m_wndToolBar.SetButtonInfo(i,nID,nStyle,12);12根据情况定 用画图工具把工具栏所对应的位图加长在程序所在文件夹/res下默认名称是toolbar.bmp技术上可行符合你的要求吗?如果不明白,你可以(1),给我发短消息(请附帖子的地址).(2),根据http://www.vcshare.net上的联系方式与我联系,推荐QQ.(3),如果问题简单,请在http://www.vcshare.net/bbs上发帖. 如果问题比较复杂,请把代码压成*.rar当附件发在我的论坛上发帖. 同时在www.csdn.net上发帖,并给出在我的论坛的链接.---------------压代码前,请先删除debug,release文件夹,及*.opt,*.ncb,*.plg,*.aps. 同上,当鼠标停留和不停留在工具条上,选用两个不同的位图来实现,VC和Vc.net就是这样来实现这个效果的 请教求最接近时间计算问题 如何设置TAB选中控件 请教各位大牛一个关于WriteFile()问题,非常困惑,求解答 谁能提供一个Direct Draw关于窗口模式与全屏模式之间切换的代码 如何让VC识别.hh,.cc文件 关于内存位图保存的问题 窗口停靠 static bool ThreePTDirect(const AgmWorld2& pos1,....) 中的static 有什么具体含义? "Visual C++.NET" 与"Visual C#.NET" 是什么关系?我该学哪个呢? 文本文件的写入与写出的问题 通过Excel9访问Excel2000 请大学帮个忙
{
if(WM_MOUSEMOVE == pMsg->message)
{
if(m_wndToolBar.GetSafeHwnd() == pMsg->hwnd)
{
DWORD dw = GetMessagePos();
CPoint pt(LOWORD(dw),HIWORD(dw));//鼠标的屏幕坐标 const int nButtonCount = m_wndToolBar.GetToolBarCtrl().GetButtonCount();
for(int i = 0 ; i < nButtonCount ; i++)
{
CRect r;
m_wndToolBar.GetItemRect(i,&r);
m_wndToolBar.ClientToScreen(&r);
if(r.PtInRect(pt))
{
UINT nID,nStyle;
int nImage;
m_wndToolBar.GetButtonInfo(i,nID,nStyle,nImage);
m_wndToolBar.SetButtonInfo(i,nID,nStyle,12);
TRACE("in %d \n" + CString(i + 48));
}
}
}
}
return CFrameWnd::PreTranslateMessage(pMsg);
}用画图工具把工具栏所对应的位图加长
m_wndToolBar.SetButtonInfo(i,nID,nStyle,12);
12根据情况定
在程序所在文件夹/res下
默认名称是toolbar.bmp技术上可行
符合你的要求吗?
如果不明白,你可以
(1),给我发短消息(请附帖子的地址).
(2),根据http://www.vcshare.net上的联系方式与我联系,推荐QQ.
(3),如果问题简单,请在http://www.vcshare.net/bbs上发帖.
如果问题比较复杂,请把代码压成*.rar当附件发在我的论坛上发帖.
同时在www.csdn.net上发帖,并给出在我的论坛的链接.
---------------
压代码前,请先删除debug,release文件夹,及*.opt,*.ncb,*.plg,*.aps.