如何实现24位色工具条

2016-01-29 12:02 40 1 收藏

如何实现24位色工具条,如何实现24位色工具条

【 tulaoshi.com - C语言心得技巧 】

如何实现24位色工具条


作者/NorthTibet

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)

下载源代码


大家知道IE的工具条都是多彩的,本文介绍如何在自己的应用程序里实现24位色工具条。如图一所示:


图一 

第一步:

在mainframe.h文件中声明成员变量:

      CToolBar m_hotToolBar;      
在 CMainFrame::OnCreate() 中创建工具条,假设你已经创建了一个ToolBar资源和两个工具条位图(Bitmap)资源:IDB_TOOLBAR_COLD 和 IDB_TOOLBAR_HOT,前者表示的是常态按钮,而后者表示的是鼠标移到上面时的状态按钮。用下面的代码创建工具条:
if (!m_hotToolBar.CreateEx(this, TBSTYLE_FLAT | TBSTYLE_LIST, WS_CHILD | WS_VISIBLE | CBRS_TOP| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||!m_hotToolBar.LoadToolBar(IDR_HOTBAR)){TRACE0("Failed to create toolbarn");return -1;      // fail to create}      

第二步:

在CMainFrame::OnCreate()中还要添加如下代码,它们实现对位图资源的存取:
// Set up hot bar image lists.CImageListimageList;CBitmapbitmap;// Create and set the normal toolbar image list.bitmap.LoadBitmap(IDB_TOOLBAR_COLD);imageList.Create(21, 20, ILC_COLORDDB|ILC_MASK, 13, 1);imageList.Add(&bitmap, RGB(255,0,255));m_hotToolBar.SendMessage(TB_SETIMAGELIST, 0, (LPARAM)imageList.m_hImageList);imageList.Detach();bitmap.Detach();// Create and set the hot toolbar image list.bitmap.LoadBitmap(IDB_TOOLBAR_HOT);imageList.Create(21, 20, ILC_COLORDDB|ILC_MASK, 13, 1);imageList.Add(&bitmap, RGB(255,0,255));m_hotToolBar.SendMessage(TB_SETHOTIMAGELIST, 0, (LPARAM)imageList.m_hImageList);imageList.Detach();bitmap.Detach();      

第三步:

添加24位色工具条按钮的消息处理函数,这个工具条有五个按钮,如图一。那么在mainframe.h中加入消息处理函数声明:
afx_msg void OnBack();afx_msg void OnForward();afx_msg void OnStop();afx_msg void OnRefresh();afx_msg void OnHome();      
在mainframe.cpp中添加消息处理代码:
消息映射
   ON_COMMAND(ID_BACK, OnBack)ON_COMMAND(ID_FORWARD, OnForward)ON_COMMAND(ID_STOP, OnStop)ON_COMMAND(ID_REFRESH, OnRefresh)ON_COMMAND(ID_HOME, OnHome)      
消息映射函数代码,为简单起见,这些函数没有做任何事情。
        void CMainFrame::OnBack() {}        void CMainFrame::OnForward() {}        void CMainFrame::OnStop() {}        void CMainFrame::OnRefresh() {}        void CMainFrame::OnHome() {}      
编译程序并运行。

来源:https://www.tulaoshi.com/n/20160129/1484338.html

延伸阅读
工作之余做了这个小东西 仿Office 2003的工具条,主要尝试不用任何图片(当然不可能把所有按扭都做出来),所有的控件都是用Css和Javascript做的 菜单就不做了,偷懒中 感兴趣的朋友可以和我联系,大家交流交流.运行代码框 <html<head<meta http-equiv="Content-Language" content="zh-cn"<meta http-equiv="Content-Type" content=...
如何嵌入(Docking)一个工具条(How To Docking A Toolbar EnableDocking(CBRS_ALIGN_ANY); // Initialize dialog bar m_wndQuickConnect if (!m_wndQuickConnect.Create(this, IDD_QUICKCONNECT,//IDD_QUICKCONNECT is a toolbar
标签: 办公软件
嵌入式工具条困扰着喜欢尝试新软件的朋友们。大家请看图1,这是一个Word2003软件的界面截图,在图中可以清楚地看到Word原本不多的编辑区正在被这些“不请自来的客人”肆意地侵蚀着。 在这里之所以称其为“不请自来”是因为每当安装这些软件时,它们都会自作主张地将自己的快捷工具条嵌入到常用软件中,也正是这些对我们没什么用的工...
如何去掉浮动工具条中的“关闭”按钮 作者/NorthTibet 下载源代码     在C++/MFC框架应用程序里,当浮动工具条被拖离主窗口后,一般都有一个“关闭”按钮,如图一所示: 图一      本来这个按钮完全是按照Windows应用程序的UI设计规范而设计...
  该程序是我从别人的网站上分析出来的!由于对方的网站使用了框架,而且又取消了鼠标的右键功能,因此费了好长时间! 当你浏览该页时,工具条始终浮在左上角,你若不喜欢,可以自己调节摆放位置!若想多页使用该代码,可以把JSP程序部分写成JS的文件,然后再通过调用来实现,有不明白的地方,欢迎各位与我交流! 演示地址:http://www....

经验教程

961

收藏

12
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部