65.9K
CodeProject 正在变化。 阅读更多。
Home

位图工具栏

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.50/5 (12投票s)

2002 年 4 月 26 日

1分钟阅读

viewsIcon

260536

downloadIcon

4738

这是我尝试创建一个简单的工具栏类,允许在工具栏的背景中设置位图。

Sample Image - screen.jpg

引言

这是我尝试创建一个简单的工具栏类,允许在工具栏的背景中设置位图。它不如BCGControl库强大,但这只是一个开始…

还可以进行一些改进;例如,没有使用高亮图像。单击按钮时,过程也会有些闪烁。该类还应修改为仅加载一次背景,以仅更新按钮的矩形区域。

使用方法

  • 像往常一样创建工具栏
    if (!myToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
    		| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC, 
    		DB_BITMAP_TAHITI, IDB_BITMAP_TOOLBAR, 9, false) ||
    		!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
    {
    	TRACE0("Failed to create toolbar\n");
    	return -1;      // fail to create
    }

    DB_BITMAP_TAHITI = 背景位图的 ID
    IDB_BITMAP_TOOLBAR = 工具栏位图的 ID
    9 是位图中的按钮数量
    false 是一个布尔值,定义如果位图的大小与工具栏不同,背景位图是否应该拉伸。

    请注意,TBSTYLE_FLAT 将创建扁平格式的按钮...否则,将添加标准的 3D 按钮。

  • 设置过程的样式,IM_STRECHIM_TRANSPARENTIM_TRANSPARENT 将采用工具栏图像,并删除背景颜色。IM_STRECH 将位图拉伸到按钮的大小。
    m_wndToolBar.ImageStyle = IM_TRANSPARENT;
    m_wndToolBar.MaskColor = RGB(198, 195, 198);
  • 定义是否应将位图应用于完整的控件框架,或者仅应用于工具栏m_wndToolBar.all_frame = true;
     
  • 可以使用DrawEdge 函数的选项修改按钮的类型。

许可证

本文未附加明确的许可证,但可能在文章文本或下载文件本身中包含使用条款。如有疑问,请通过下面的讨论区联系作者。

作者可能使用的许可证列表可以在此处找到。

© . All rights reserved.