zoukankan      html  css  js  c++  java
  • MFC 单文档添加按钮

    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 }

    你自己的,自己实现一下

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

  • 相关阅读:
    每日学习
    解决MySQL下把结果导出到文件权限不足问题
    杀死Windows中的进程镜像taskkill /F /IM 镜像名
    大家,中秋节快乐
    学习AutoIt
    为什么你应该(从现在开始就)对自己投资
    验证PE文件数字签名是否有效
    MySQL Cluster集群搭建与测试
    MySQL主从复制与读写分离
    Python与Zabbix API交互配置监控主机
  • 原文地址:https://www.cnblogs.com/yocichen/p/10171217.html
Copyright © 2011-2022 走看看