VS 单文档 添加按钮
今天做项目需要在单文档中创建按钮来响应函数,即点击按钮,调用某函数,特此记录。
1. 在XXXView中添加CButton变量,例如 CButton start;
2. 下来就是 创建按钮 了
① 在资源 Rescource.h 中注册一下 按钮
#define IDB_BUTTONSTOP(这是名字,自己起) 2000(这是编号,不要和其他的一样就好)
②下来创建按钮
右键 XXXView类->属性->消息->WM_CREAT->add(编辑函数)
内容:
int CTetrisView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateStruct) == -1) return -1; // TODO: 在此添加您专用的创建代码 //开始按钮 CRect rect_button(panel->p1.x + 20, panel->p0.y + 500, panel->p1.x + 200, panel->p0.y + 540);//控制按钮大小、位置 start.Create(L"开始游戏", WS_CHILD | WS_VISIBLE | WS_BORDER, rect_button, this, IDB_BUTTONSTART); start.ShowWindow(SW_SHOWNORMAL); }
(其中,rect_buton是要显示的矩形大小,四个参数应该懂吧,定义矩形:要么两个CPoint 点,要么四个数)
然后 .OnCreate(...)照着写就行,注意把 IDB_BUTTONSTART 换成你自己定义的名称,start就是你在XXXView中新建的变量,我的VS2017需要在字符串前加 L,你可能不需要。
至此,运行程序,就可以看到 按钮了。
3. 响应函数的建立
① 在XXXView.cpp 中找到 BEGIN_MESSAGE_MAP(CTetrisView, CView).......END_MESSAGE_MAP(),
在其中 添加点击消息响应 ON_BN_CLICKED(IDB_BUTTONSTART, OnSTARTDown)//点击start事件
注意:把第一个参数换成 自己定义的 名称(在Rescource.h中定义的那个),第二个参数是 要响应的函数(就是,你通过点击按钮,要调用的那个函数)
② 实现 响应函数
我的是:
1 void CTetrisView::OnSTARTDown() 2 {
//添加自己的代码 3 CDC *pDC = this->GetDC();// 4 playMusic();// 5 SetTimer(1, 500, NULL);// 6 }
你自己的,自己实现一下