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中定义的那个),第二个参数是 要响应的函数(就是,你通过点击按钮,要调用的那个函数)

② 实现 响应函数

我的是:

 void CTetrisView::OnSTARTDown()
{
  //添加自己的代码
CDC *pDC = this->GetDC();//
playMusic();//
SetTimer(, , NULL);//
}

你自己的,自己实现一下

然后.......就好了。

MFC 单文档添加按钮的更多相关文章

  1. MFC单文档

    一.创建并运行MFC单文档程序 1.创建单文档程序 这里使用的是VS2017.首先,打开VS2017,选择文件->新建->项目,然后选择Visual C++ -> MFC /ATL& ...

  2. VC-基础:MFC单文档程序架构解析

    MFC单文档程序架构解析 这里我以科院杨老师的单文档程序来分析一下MFC单文档的程序架构,纯属个人见解,不当之处烦请指教! 首先我们了解到的是 图(一) theApp 是唯一一个在程序形成的时候就存在 ...

  3. MFC单文档程序架构解析

    MFC单文档程序架构解析 MFC单文档程序架构解析 这里我以科院杨老师的单文档程序来分析一下MFC单文档的程序架构,纯属个人见解,不当之处烦请指教! 首先我们了解到的是 图(一) theApp 是唯一 ...

  4. VC++ MFC单文档应用程序SDI下调用glGenBuffersARB(1, &pbo)方法编译通过但执行时出错原因分析及解决办法:glewInit()初始化的错误

    1.问题症状 在VC++环境下,利用MFC单文档应用程序SDI下开发OpenGL程序,当调用glGenBuffersARB(1, &pbo)方法编译通过但执行时出错,出错代码如下: OpenG ...

  5. MFC单文档程序结构

    MFC单文档程序结构三方面: Doc MainFrame View

  6. MFC单文档框架分析及执行流程(转)

    原文转自 https://blog.csdn.net/u011619422/article/details/40402705 首先来分析一下MFC单文档类的结构: 它包括如下几个类: CAboutDl ...

  7. 【2016.3.30项目技术记录】]VS2010自动生成MFC单文档框架程序的修改:去除属性框,在CViewTree类中添加鼠标单击响应

    转自http://blog.csdn.net/yanfeiouc2009/archive/2010/06/07/5653360.aspx 手头上有个东西要用到单文档,由于想省事,直接用VS2010做了 ...

  8. MFC单文档自定义扩展名及添加图标报Assertion错误

    忽然无聊的想给自己写的程序保存的文件使用自己的名字简写作为后缀,于是有了下文. IDR_MAINFRAME格式介绍 IDR_MAINFRAME字符串资源中包含7个子串,分别以/n结束,即如下格式: & ...

  9. MFC 单文档中动态添加菜单项和响应菜单事件

    新建一个单文档程序 在查看菜单项中增加两个子菜单,分别为隐藏工具栏(ID_HIDE),新建菜单(ID_NEWMENU) 在Resource.h中增加一个ID_NEWMENU宏 #define ID_N ...

随机推荐

  1. 一款好用 mongodb 可视化工具

    最近想自己搭建一个个人博客,所以学了下mongodb,mongodb是用命令行输入的,有些人可能不太习惯,我自己找了下mongodb的一些可视化工具,一开始安装的是mongoVUE,mongoVUE页 ...

  2. CentOS7安装详解

    本文基于vmware workstations进行CentOS7安装过程展示,关于vmware workstations安装配置本人这里不再介绍,基本过程相当于windows下安装个软件而已. 1.打 ...

  3. 微信小程序入门(四)

    16.WXSS特性之模板及引用 模板引用 index.wxml <template name="tempItem"> <view> <view> ...

  4. MHA+ProxySQL实现读写分离高可用

    最近在研究ProxySQL,觉得还挺不错的,所以就简单的折腾了一下,ProxySQL目前也是Percona在推荐的一个读写分离的中间件.关于详细的介绍可以参考官方文档.https://github.c ...

  5. Spring Boot (四)模板引擎Thymeleaf集成

    一.Thymeleaf介绍 Thymeleaf是一种Java XML / XHTML / HTML5模板引擎,可以在Web和非Web环境中使用.它更适合在基于MVC的Web应用程序的视图层提供XHTM ...

  6. Perl的die和warn函数

    die和warn die可以在出现错误的时候停止程序,并给出消息.默认会输出出错的程序名称和出错行号 warn函数和die函数类似,但和die的区别是不会终止程序 die和warn的参数末尾如果给了\ ...

  7. PAT之写出这个数

    读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10^100^. 输出格式:在一行内输出n的各位数字之和 ...

  8. [转]centos6.5修改yum安装的mysql默认目录

    本文转自:https://www.cnblogs.com/fefjay/p/6044444.html 0.说明 Linux下更改yum默认安装的mysql路径datadir.linux下,MySQL默 ...

  9. 根据传智写的SqlHelper

    using System; using System.Configuration; using System.Data; using System.Data.SqlClient; namespace ...

  10. Java集合类根接口:Collection 和 Map

    前言 在前文中我们了解了几种常见的数据结构,这些数据结构有着各自的应用场景,并且被广泛的应用于编程语言中,其中,Java中的集合类就是基于这些数据结构为基础. Java的集合类是一些非常实用的工具类, ...