谁有在对话框程序中应用真彩工具栏的经验啊 vc图片只支持16位颜色,想做个漂亮点的工具栏,网上搜了下有一个封装好的Ctruecolortoolbar类,用来生成真彩工具栏,但是例子是单文档的,我用在对话框程序中工具栏显示不出来,不知道有没有人用过对话框程序下添加真彩工具栏的啊,请赐教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我就是在Dialog中用的这个类 Dialog头文件中定义 CTrueColorToolBar m_csTB;初始化的时候:BOOL C**Dlg::OnInitDialog(){ CDialog::OnInitDialog(); m_csTB.SetBorders(1, 1, 1, 1); if (!m_csTB.CreateEx(this,TBSTYLE_FLAT,WS_VISIBLE|CBRS_RIGHT|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_GRIPPER|CBRS_SIZE_FIXED,CRect(0,0,0,0)) || !m_csTB.LoadToolBar(IDR_TOOLUSER)) { TRACE0("Failed to create toolbar\n"); return -1; } m_csTB.SetButtonInfo(0,ID_TOOLARRAW,TBBS_CHECKED,0); m_csTB.SetButtonInfo(1,ID_TOOLLINE,TBBS_BUTTON|TBBS_WRAPPED,1); m_csTB.SetButtonInfo(2,ID_TOOLPENCIL,TBBS_BUTTON,2); m_csTB.SetButtonInfo(3,ID_TOOLRECT,TBBS_BUTTON|TBBS_WRAPPED,3); m_csTB.SetButtonInfo(4,ID_TOOLROUNDRECT,TBBS_BUTTON,4); m_csTB.SetButtonInfo(5,ID_TOOLELLIPSE,TBBS_BUTTON|TBBS_WRAPPED,5); //......... m_csTB.ModifyStyle(0, TBSTYLE_FLAT); m_csTB.LoadTrueColorToolBar(16,IDB_NUT,IDB_HUT,IDB_DUT); ::SetWindowPos(m_csTB.m_hWnd,HWND_TOP,0,0,0,120,SWP_NOACTIVATE| SWP_NOSIZE|SWP_NOMOVE|SWP_NOOWNERZORDER); //......}IDB_NUT,IDB_HUT,IDB_DUT分别是工具栏按钮处于正常 鼠标悬停 禁用状态对应的三个位图资源IDR_TOOLUSER是添加的一个ToolBar资源 ID_TOOLRECT等是按照顺序出现的在IDR_TOOLUSER上的按钮。WS_VISIBLE|CBRS_RIGHT|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_GRIPPER|CBRS_SIZE_FIXED这些属性要根据你的情况设定 我设定的是靠右竖排 vc 两个列表框控件直接内容显示的问题 对话框tabcontrol控件,怎么删除tabpage 我新手,麻烦赐教VC中的小问题 在VC中,怎么利用ReacordSet类来给一个表里添加数据。最好有代码。谢谢! ATL控件的事件触发? 密码加密 Can't get the IHTMLDocument2 interface of a hosting page 问:如何处理一个Com对象接收另一个Com对象做为输入参数?100分 对了,突然想起一个问题 linux下能装VC吗? QQ登录框的问题? 急问!!!!!!!!!!!!!!
Dialog头文件中定义 CTrueColorToolBar m_csTB;
初始化的时候:
BOOL C**Dlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_csTB.SetBorders(1, 1, 1, 1);
if (!m_csTB.CreateEx(this,TBSTYLE_FLAT,WS_VISIBLE|CBRS_RIGHT|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_GRIPPER|CBRS_SIZE_FIXED,CRect(0,0,0,0)) || !m_csTB.LoadToolBar(IDR_TOOLUSER))
{
TRACE0("Failed to create toolbar\n");
return -1;
} m_csTB.SetButtonInfo(0,ID_TOOLARRAW,TBBS_CHECKED,0);
m_csTB.SetButtonInfo(1,ID_TOOLLINE,TBBS_BUTTON|TBBS_WRAPPED,1);
m_csTB.SetButtonInfo(2,ID_TOOLPENCIL,TBBS_BUTTON,2);
m_csTB.SetButtonInfo(3,ID_TOOLRECT,TBBS_BUTTON|TBBS_WRAPPED,3);
m_csTB.SetButtonInfo(4,ID_TOOLROUNDRECT,TBBS_BUTTON,4);
m_csTB.SetButtonInfo(5,ID_TOOLELLIPSE,TBBS_BUTTON|TBBS_WRAPPED,5); //......... m_csTB.ModifyStyle(0, TBSTYLE_FLAT);
m_csTB.LoadTrueColorToolBar(16,IDB_NUT,IDB_HUT,IDB_DUT);
::SetWindowPos(m_csTB.m_hWnd,HWND_TOP,0,0,0,120,SWP_NOACTIVATE| SWP_NOSIZE|SWP_NOMOVE|SWP_NOOWNERZORDER);
//......
}IDB_NUT,IDB_HUT,IDB_DUT分别是工具栏按钮处于正常 鼠标悬停 禁用状态对应的三个位图资源
IDR_TOOLUSER是添加的一个ToolBar资源 ID_TOOLRECT等是按照顺序出现的在IDR_TOOLUSER上的按钮。
WS_VISIBLE|CBRS_RIGHT|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_GRIPPER|CBRS_SIZE_FIXED这些属性要根据你的情况设定 我设定的是靠右竖排