WEB开发网
开发学院软件开发VC 图形界面上的任意形状图形按钮 阅读

图形界面上的任意形状图形按钮

 2008-12-24 19:39:50 来源:WEB开发网   
核心提示: 另外,CControlButton类还提供了通常的四态按钮的支持,图形界面上的任意形状图形按钮(3),即鼠标划过、点击、正常、获得焦点四种情况对应加载四张不同的位图,二、成员函数介绍① void CControlButton::SetMaskBitmapId(int mask, bool

另外,CControlButton类还提供了通常的四态按钮的支持,即鼠标划过、点击、正常、获得焦点四种情况对应加载四张不同的位图。

二、成员函数介绍

① void CControlButton::SetMaskBitmapId(int mask, bool action)

功能:设置图2资源图片

返回值:无

参数:mask ,图2的资源ID

action,值为TRUE则有效,FALSE为无效

② void CControlButton::SetBackBmp(int nBgdBmpId,CRect rect);

功能:设置按钮背景图片

返回值:无

参数:nBgdBmpId ,主窗口背景图片资源ID

rect , 按钮在主窗口中的客户区矩形, 使用GetWindowRect, ScreenToClient这两个函数即可以轻松获得。

③ void CControlButton::SetRgnMask(int nMaskBmpId, bool nAction)

功能:设置有效区域函数:

返回值:无

参数:nMaskBmpId ,图2的资源ID

nAction ,值为TRUE则设置有效,FALSE则无效,通过这样可以使用或禁止构造响应区域

④void CControlButton::SetBitmapId(int nOver,int nNormal,int nPressed,int nFocus)

功能:设置按钮动态加载的四幅图片 :

返回值:无

参数:nOver,鼠标划过对应按钮图片资源ID。

nNormal ,正常状态下 对应按钮图片资源ID

nPressed ,按下按钮对应图片资源ID

nFocus ,获得焦点情况下图片资源ID

三、使用说明

CControlButton类从CButton类派生,使用时,只需在界面上放置一个按钮控件,添加CControlButton类,关联一个CControlButton的控件变量,然后进行初始化即可:

CRect btnRect; //定义按钮矩形变量
m_demoBtn.GetWindowRect(btnRect); //获取按钮窗口矩形区域
ScreenToClient(btnRect); //转换成客户区域
//设置按钮的背景图片,跟主窗口的背景图片一样
m_demoBtn.SetBackBmp(IDB_BACKGROUND,btnRect);
m_demoBtn.SetRgnMask(IDB_OKmask,TRUE);//设置响应区域,TRUE设置构造区域有效
m_demoBtn.SetMaskBitmapId(IDB_OKmask,TRUE);  //设置掩码图片
//设置按钮的四种状态图
m_demoBtn.SetBitmapId(IDB_btn_ok_b,IDB_btn_ok_a,IDB_btn_ok_c,IDB_btn_ok_a);

四、结束语

本类是在我朋友hurryboylqs四态图片按钮类的基础上完成,衷心感谢hurryboylqs的帮助,希望本文对大家有一点点帮助。本人深知本类还有一些不足之处,如若大家对本类有修改完善,也请连修改说明给我发送一份,万分感谢!

Email:qvb20974151@163.com

上一页  1 2 3 

Tags:图形 界面 任意

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接