返回首页

下载和版本检讨版本上映来源programnbsp;1.00August/17/2006
我会提交新文章更新,以节省时间和保持发展history.nbsp;
简介
我不喜欢窗口的工具栏太多时,我用对话框和属性页,因为它有较少的风格

上周,我决定忘记所有的Windows工具栏的问题和creatednbsp;原料toolbarnbsp有趣的工作后几个小时的矿
,我公司开发的"原始"工具栏,这是从CWnd继承,并已作为成员变量CImageList - 这是所有 - 没有任何CToolBarCtrl或Win32工具栏问题参与。
现在我觉得我掌握的工具栏,因为我可以更新它反正我喜欢

以下是源程序,14工具栏显示在不同的按钮样式的截图{BR。 }(工具栏有7个款式,其中3截图显示在页面的底部)。
的截图左侧的文本描述了14个按钮样式(不包括工具栏样式) 有关的14个工具栏,使用同一资源位图。

目前的状态和使用情况
用法很简单:在VC资源,它代表了工具栏上的所有按钮的位图绘制,然后告诉工具栏位图的ID - 函数创建(...)波纹管 - 工具栏将创建。
目前的工具栏上有2个功能:所有的按钮独立工作所有按钮的工作在一个检查组 - 只有一个按钮被选中/
(Screnshot上述功能2 - 第一个按钮被选中)我公司开发的酒吧上周,我现在只需要2个功能,我将更新并添加新的下载,在这里,当我需要更多的功能。文件和类
有2个文件里面"LIB"目录的源程序。ToolbarMine(H和CPP)
该文件只包含一个类:ToolbarMine(从CWnd inherented)。
后缀矿意味着它是我的 - 它是你,如果你修改它 - 但不是微软的。之类的功能
2函数必须调用:布尔创建(的CWnd * pMum,INT iBmpID,CX,INT iBarID =- 1)
iBmpID:在资源
CX位图ID:宽位图中的按钮图像(CX FOT CImageList相同)
iBarID:工具栏ID,工具栏控件的ID,如果iBarID没有指定用途iBmpID(默认)
注:iBarID必须是唯一的父窗口(类似菜单或其他控件的ID) - 这是与消息{BR } 布尔DockingOnTop(INT IL,INT它,IR = 0,INT iButtonStyle =按钮:提出)
IL:左边的位置
:榜首的位置
IR:正确的位置,将改为权里面的函数的父窗口的客户区的一面,如果输入是0nbsp;
3个值作为左值相同,顶部和右边的CRECT的,底部是无用的,因为栏自动调整其高度的按钮。 (IR - IL)如果房间不够大,按钮显示在多行
iButtonStyle:共14个按钮样式(参考上面的截图),按钮样式不能被其他职能改变 - 但功能可以。多次呼吁改变按钮样式

注意:有没有底部,左边和右边的对接的功能,因为我只需要现在停靠在顶部的酒吧 - 但源代码,非常。容易被修改的对接,其他各方。以下功能可选无效SetCheckGroup(布尔bgroup的= TRUE)
设置一个检查组(默认情况下不)
NBSP的所有按钮; 无效SetToolbarBorderStyle(INT iBorderStyle)
有7边框样式,工具栏,上面的截图是无(平)
BOOL SetCheckedButton(INT iBtn,布尔bMessage = FALSE)
INT GetCheckedButton();
如果酒吧在检查组,按钮可以检查编程
bMessage意味着如果发布消息的功能。
第二功能得到哪个按钮被选中
无效SetButtonBorderColor(COLORREF CLR)
如果是彩色的按钮样式的,LARGE_COLORED,STRONG_COLORED或LARGE_STRONG_COLORED, 边框颜色的按钮,可以改变(见上面的截图)
NBSP。无效SetToolbarBorderColor(COLORREF CLR)
类似的功能6,但工具栏的颜色
CSIZE GetToolbarSize()
获取工具栏的大小,类似GetWindowRect()函数VC

其他功能是有用的,但并不重要,如GetButtonSize(),这这里没有列出逐个的。消息:如果工具栏,检查组
消息发送一次,如果按下(WM_LBUTTONDOWN)
邮件将不会被张贴如果按钮处于检查状态以前是一个不检查的按钮。
否则(独立按钮)
消息被发布,如果按下一个按钮,然后释放(WM_LBUTTONUP)在按钮的矩形鼠标光标
消息将不被postednbsp;。。如果鼠标离开的按下按钮的矩形
(模拟到窗口按钮的功能)。在格式工具栏的父窗口的消息被发送:消息:WM_COMMAND消息,wParam参数:工具栏的ID,lParam:一个按钮的索引。工具栏使用消息。
(消息标题文字示例程序displyed)其他3个不同的工具栏样式的截图:
上面的截图工具栏风格是NONE(默认),可随时更改工具栏样式
总计数是7,下面的截图3
注:按钮样式(14样式)是相同的所有屏幕截图

工具栏样式。STRONG_SUNKEN
NBSP

工具栏的样式:STONG_COLORED

工具栏的样式:STRONG_RAISED
有关样式的更多信息:按钮样式:
的前3名的工具栏按钮的大小截图上有相同的按钮的大小作为CToolBar
大,强,增加RAISED_SUNKEN或SUNKEN_RAISED 2x2的像素更多的按钮的大小。
例如,LARGEE_STRONG_RAISED增加按钮的大小为4x4的像素。
两次强有力的手段来绘制按钮的边框。工具栏样式
工具栏的大小是固定的所有工具栏样式的,因为画室(3个像素)​​准备不同的风格。| includeh10

回答

评论会员:游客 时间:2011/12/06
是否有任何理由为什么你shoule提交两篇文章的两个版本相同的工具?军
拉玛克里希纳Vavilala
评论会员:游客 时间:2011/12/06
如果你的标题看,他们是不同的EIS1.00版和其他版本1.01。他为什么不能只后的1.01版本?我没有任何想法。调试是两倍的代码写在首位硬。因此,如果你写的代码尽可能为巧妙,你,定义,不够聪明,调试。布赖恩Kernighan的