龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

用VC制作带弹出式菜单的按钮(5)

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
五、变量的初始化 在CMenuButton类的头文件中,定义有以下变量和函数: MenuButton.h private: int m_State; //按钮状态 BOOL b_InFlag; //鼠标进入标志 BOOL b_ClickFlag; //单

  五、变量的初始化

  在CMenuButton类的头文件中,定义有以下变量和函数:

MenuButton.h

private:
 int m_State; //按钮状态
 BOOL b_InFlag; //鼠标进入标志
 BOOL b_ClickFlag; //单击选择区
 BOOL b_ClickBut; //单击主体区
 CString m_strText; //按钮文字
 COLORREF m_ForeColor; //文本颜色
 COLORREF m_BackColor; //背景色
 CRect m_ButRect; //按钮尺寸
 CRect m_LRect; //按钮左部尺寸
 CRect m_RRect; //按钮右部尺寸
 CMenu m_Menu; //弹出菜单
 int m_MenuID; //菜单ID

void DrawButton(CDC *pDC); //绘制按钮

public:
 CMenuButton(); //构造函数
 void SetMenuID(int nID); //设置关联菜单ID
 void SetForeColor(COLORREF color); //设置文本颜色
 void SetBkColor(COLORREF color); //设置背景颜色
 void SetText(CString str); //设置按钮文本
 BOOL isClick(); //是否单击主按钮区

  各变量的初始化在构造函数中进行:

CMenuButton::CMenuButton()
{
 m_MenuID = 0; //菜单ID
 b_InFlag = false; //进入标志
 m_State = 0; //初始状态
 b_ClickFlag = false; //单击选择区标志
 b_ClickBut = false; //单击主体区标志
 m_strText = _T(""); //按钮文本
 m_ForeColor = RGB(0,0,0); //文字颜色
 m_BackColor = GetSysColor( COLOR_3DFACE ); //背景色

  这样,带菜单的按钮类就做好了,用它定义的按钮实例可以连接一个弹出式按钮,下面我们就看看怎样定义按钮实例。

精彩图集

赞助商链接