SDI里添加按钮并响应点击事件
2010-06-29 15:52
393 查看
在网上搜了好多资料,发现能在单文档上显示按钮,但就是不能响应事件,
弄了好久,发现m_pButton->Create()要放在C***View类的OnCreate()里。
但用VS2008新建的单文档程序里C***View类没有重载OnCreate()函数,要
自己重载该函数,可以利用向导生成的。下面说一下具体步骤:
一、新建SDI(单文档)程序button,向导会生成CbuttonView类,还有其他类
还有buttonView.h,buttonView.cpp两个文件,当然还有其他文件。
二、在CbuttonView类中添加CButton指针变量m_pButton
三、在CbuttonView类添加OnCreate函数,通过类向导生成WM_CREATE消息函数即可
四、在resoure.h文件中添加
#define IDC_TEST 1000
五、在CbuttonView类的OnCreate函数中添加按钮生成函数
int CbuttonView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: 在此添加您专用的创建代码
m_pButton = new CButton;
m_pButton->Create( "请点击",WS_CHILD|WS_VISIBLE, CRect(100,100,200,140),this,IDC_TEST);
return 0;
}
六、在CbuttonView类添加test函数,可通过向导生成
buttonView.h中
class CbuttonView : public CView
{
..............
public:
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
void test(void);
}
buttonView.cpp中
void CbuttonView::test(void)
{
AfxMessageBox("你点击了我");
}
七、在CbuttonView类中添加消息映射,buttonView.cpp文件
BEGIN_MESSAGE_MAP(CbuttonView, CView)
..........
//添加的点击消息
ON_BN_CLICKED(IDC_TEST, &CbuttonView::test)
ON_WM_CREATE()
END_MESSAGE_MAP()
八、运行程序,在SDI的客户区有个"请点击"按钮,点击后,弹出“你点击了我”消息框
弄了好久,发现m_pButton->Create()要放在C***View类的OnCreate()里。
但用VS2008新建的单文档程序里C***View类没有重载OnCreate()函数,要
自己重载该函数,可以利用向导生成的。下面说一下具体步骤:
一、新建SDI(单文档)程序button,向导会生成CbuttonView类,还有其他类
还有buttonView.h,buttonView.cpp两个文件,当然还有其他文件。
二、在CbuttonView类中添加CButton指针变量m_pButton
三、在CbuttonView类添加OnCreate函数,通过类向导生成WM_CREATE消息函数即可
四、在resoure.h文件中添加
#define IDC_TEST 1000
五、在CbuttonView类的OnCreate函数中添加按钮生成函数
int CbuttonView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: 在此添加您专用的创建代码
m_pButton = new CButton;
m_pButton->Create( "请点击",WS_CHILD|WS_VISIBLE, CRect(100,100,200,140),this,IDC_TEST);
return 0;
}
六、在CbuttonView类添加test函数,可通过向导生成
buttonView.h中
class CbuttonView : public CView
{
..............
public:
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
void test(void);
}
buttonView.cpp中
void CbuttonView::test(void)
{
AfxMessageBox("你点击了我");
}
七、在CbuttonView类中添加消息映射,buttonView.cpp文件
BEGIN_MESSAGE_MAP(CbuttonView, CView)
..........
//添加的点击消息
ON_BN_CLICKED(IDC_TEST, &CbuttonView::test)
ON_WM_CREATE()
END_MESSAGE_MAP()
八、运行程序,在SDI的客户区有个"请点击"按钮,点击后,弹出“你点击了我”消息框
相关文章推荐
- winform中的datagridview里添加按钮列,如何响应按钮的点击事件
- tabBar隐藏之后添加到它原来位置上的按钮不能响应点击事件
- winform中的datagridview有添加按钮列,响应按钮的点击事件
- iOS 在添加了UITapGestureRecognizer的UIView上响应按钮的点击事件
- VC++使用PreTranslateMessage函数处理点击按钮区域响应事件
- 【Unity】UGUI怎么动态的添加按钮的OnClick点击事件
- 在Activity中响应ListView内部按钮的点击事件
- addEventListener 方法在同一个按钮添加两个点击事件。
- C#点击按钮响应load事件代码
- 高德地图显示在fragment中并添加按钮点击事件
- 自定义dialog响应按钮点击事件
- 为按钮添加点击事件的三种方式
- 为Textview里面的ImageSpan添加点击响应事件
- UIImageView上添加Button不能响应点击事件
- android中在Activity中响应ListView内部按钮的点击事件的两种方法
- [WPF] 为Style 里的button添加鼠标点击响应事件
- ios 动态添加了按钮,绑定同一个点击事件,如何判断点击的是哪个?
- 单文档(SDI)视图类中手动添加的CListCtrl响应鼠标单击事件!
- 按钮添加点击事件的多种方式
- 给submit提交按钮添加点击事件(JavaScript)