MFC自己派生的CButton类如何添加鼠标单击事件响应函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC自己派生的CButton类如何添加鼠标单击事件响应函数相关的知识,希望对你有一定的参考价值。
RT。自己从CButton类派生了CMyButton,然后想在一个对话框中动态生成一些CMyButton的按钮,就是想每一个动态生成的按钮都自动默认响应Click函数。请问如何实现?
参考技术A 可以直接在cbutton点类里面定义一个 响应click的虚函数~我是这么认为的 参考技术B 可以写一个响应函数,然后把所有你的动态生成的按键的id放到函数的响应ID范围内 这样就可以了 参考技术C 一种方法,定义Cbutton派生类,添加BN_CLICKED响应函数 ... 运行,还是编译后运行EXE,程序运行一段时间后不响应鼠标事件,所有的单击事件和双击事件全都失效。 参考技术D 公交卡MFC普通按钮CButton
1.简介
按钮是最常见的、应用最广泛的一种控件。在程序执行期间,当单击某个按钮后就会执行相应的消息处理函数。
2.Functions
2.1 int GetWindowText( LPTSTR lpszStringBuf, int nMaxCount ) const | void GetWindowText( CString& rString ) const;
void CButtonDlg::OnBnClickedButton1() { // TODO: 在此添加控件通知处理程序代码 CString str; m_btn1.GetWindowTextW(str);//m_btn1为该Button的变量名 MessageBox(str); }
2,2 void SetWindowText(LPCTSTR lpszString)
void CButtonDlg::OnBnClickedButton2() { // TODO: 在此添加控件通知处理程序代码 m_btn2.SetWindowTextW(TEXT("^_^")); CString str; m_btn2.GetWindowTextW(str); MessageBox(str); }
2,3 BOOL EnableWindow( BOOL bEnable = TRUE );
void CButtonDlg::OnBnClickedButton3() { // TODO: 在此添加控件通知处理程序代码 m_btn3.EnableWindow(FALSE);//按钮按下去会变灰色无法再点击 }
2,4列出其他function
UINT GetState() const;//检索按钮控件的选中状态、加亮状态和获得焦点状态 void SetState( BOOL bHighlight);//设置按钮控件的加亮状态 int GetCheck( ) const;//检索按钮控件的选中状态 void SetCheck( int nCheck );// 设置按钮控件的选中状态 UINT GetButtonStyle( ) const;//检索按钮控件的风格 void SetButtonStyle( UINT nStyle, BOOL bRedraw = TRUE );//设置按钮控件的风格 HICON GetIcon( ) const;//检索此前调用SetIcon设置的图标句柄 HICON SetIcon( HICON hIcon );//指定一个在按钮上显示的图标 HBITMAP GetBitmap( ) const;//检索此前调用SetBitmap设置的位图的句柄 HBITMAP SetBitmap( HBITMAP hBitmap );//设置在按钮上显示的位图 HCURSOR GetCursor( );//检索此前调用SetCursor设置的光标图像的句柄 HCURSOR SetCursor( HCURSOR hCursor );//设置在按钮上显示的光标图像
以上是关于MFC自己派生的CButton类如何添加鼠标单击事件响应函数的主要内容,如果未能解决你的问题,请参考以下文章