大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> 程序开发 -> 标题栏上添加按钮

标题栏上添加按钮

时间: 2021-07-31 作者:daque

自从windows操纵体例展示此后,在运用步调中举行人机交互的思维和本领便爆发了根天性的变换,计划机的界面变得和睦精粹。一个步调的是非很大水平上确定于人机交互的简单水平。暂时,大普遍步调的题目栏都老生常谈,怎样让本人的步调不同凡响是每个步调员的理想,但变换题目栏的实质简直有十分的难度。该篇作品向你引见怎样在题目栏上增添图标按钮,并且当鼠标过程和点击该图标时,鼠标将有各别的反馈。请依照底下的办法实行。  第一步:翻开vc编制程序情况,天生一个新的鉴于单文书档案的工程temp,一切的选项都取默许值,底下,咱们就在此工程的题目栏上天生三个按钮图标。  第二步:载入资源文献,公有三个文献:captionbutton.cpp、captionbutton.h和thunk.h。将这三个文献增添到工程中(增添本领不用细说了吧)。  第三步:在mainfrm.h中设置变量ccaptionbutton cbextra;,固然要包括头文献#include "captionbutton.h"。  第四步:为工程加载位图资源,id号辨别为idb_bitmap1、idb_bitmap2、idb_bitmap3、idb_bitmap6、idb_bitmap7。那些位图将表露在题目栏上,至于用怎么办的位图就看你的爱好了。  第六步:在mainfrm.cpp的oncreate因变量中增添如次的代码://初识化,m_hwnd是咱们要处置的窗口句柄cbextra.init(m_hwnd);// // 树立题目栏上的从来的按钮(最大化、最小化和封闭)保持的数量cbextra.setnumofdefaultcaptions(3);// 树立位图的通明脸色colorref crtransparent = rgb(255,0,255);cbextra.settransparentcolor(crtransparent);// 鼠标选中一个位图后该位图的格式cbextra.setselectionbitmap((hbitmap)loadimage(afxgetinstancehandle(),   makeintresource(idb_bitmap7),   image_bitmap,   0,   0,   lr_loadmap3dcolors|lr_defaultcolor)); // 鼠标挪动到一个位图后,该位图的变革hbitmap hmouseoverbitmap = (hbitmap)loadimage(afxgetinstancehandle(),   makeintresource(idb_bitmap2),   image_bitmap,   0,   0,   lr_loadmap3dcolors|lr_defaultcolor);// 树立位图1hbitmap hcaptionambitmap = (hbitmap)loadimage(afxgetinstancehandle(),   makeintresource(idb_bitmap3),   image_bitmap,   0,   0,   lr_loadmap3dcolors|lr_defaultcolor);hbitmap hcaptionambitmaphilite =    ccaptionbutton::combinebitmaps(hcaptionambitmap,   hmouseoverbitmap, crtransparent);// 树立位图2hbitmap hcaption2bitmap = (hbitmap)loadimage(afxgetinstancehandle(),   makeintresource(idb_bitmap6),   image_bitmap,   0,   0,   lr_loadmap3dcolors|lr_defaultcolor);hbitmap hcaption2bitmaphilite =    ccaptionbutton::combinebitmaps(hcaption2bitmap,   hmouseoverbitmap,crtransparent);// 树立位图三hbitmap hcaption3bitmap = (hbitmap)loadimage(afxgetinstancehandle(),   makeintresource(idb_bitmap1),   image_bitmap,   0,   0,   lr_loadmap3dcolors|lr_defaultcolor);hbitmap hcaption3bitmaphilite =    ccaptionbutton::combinebitmaps(hcaption3bitmap,   hmouseoverbitmap,crtransparent);// 运用上头的设置创造题目栏上的位图,宝库位图的id号,鼠标过程时的file://变幻位图,鼠标采用时的变幻位图和提醒笔墨。cbextra.new(1,hcaptionambitmaphilite,hcaptionambitmap,"guan");cbextra.new(2,hcaption2bitmaphilite,hcaption2bitmap,"xi");cbextra.new(3,hcaption3bitmaphilite,hcaption3bitmap,"ming");  第六步:此刻咱们不妨先停下来看看咱们的功效怎样。编写翻译咱们的工程,运转,咱们不妨创造,咱们的题目栏上减少了三个按钮,鼠标在上头挪动或点击的功夫,位图会爆发变革。不过咱们还没有增添在位图上点击是的处置因变量,不要急,接下来咱们就增添相映的处置因变量。  第七步:当咱们在题目栏上点击图标时,将有一个动静wm_cblbuttonclicked爆发,参数wparam是引导击图目标id号。  在mainfrm.h中设置动静映照因变量afx_msg lresult hit(wparam wparam, lparam lparam);  在mainfrm.cpp中设置因变量实行:on_message(wm_cblbuttonclicked, hit)lresult cmainframe::hit(wparam wparam, lparam lparam){switch(wparam){// begin wparamcase 1:afxmessagebox("第一个caption");break;case 2:afxmessagebox("第二个caption");break;case 3:afxmessagebox("第三个caption");break;}return 1;}   如许,当咱们单击图标时将弹出各别的提醒对话框,这不过一个例子,至于实行怎么办的功效随你的便了。  第八步:题目栏的动静变换。在步调的实行进程中即使你要变换题目栏的格式你同样不妨实行,底下辨别给出怎样简略一个图标和变动一个图目标格式。void cmainframe::ondelete() {cbextra.delete(1);}void cmainframe::onchange() {cbextra.replace(1,1,hcaption4bitmaphilite,hcaption4bitmap,"pnewtooltiptext"); }  好了,功效实行了,还算合意吧,蓄意对你有效。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.