zoukankan      html  css  js  c++  java
  • MFC 中添加按钮和事件

    VS2008没用过,跟你说一种在VC++6.0下的实现View添加按钮及其消息处理的方法吧
    1、在你的工程的View类的头文件(***View.h)中
     1.0 添加声明
      CButton * m_pBtn;

     2.0 在//{{AFX_MSG(C***View) 和 //}}AFX_MSG DECLARE_MESSAGE_MAP()之间添加消息处理函数声明
      afx_msg void OnBtnFileOpen();
     
    2、在工程View类的实现文件中(***View.cpp)
     2.0 定义按钮ID
      #define  ID_MYBUTTON1 12315

     2.1 构造函数中添加代码
      m_pBtn = NULL;
     2.2 析构函数中添加代码
      if (m_pBtn != NULL)
      {
       m_pBtn->Detach();
       delete m_pBtn;
      }
     2.3 在OnInitialUpdate()函数中添加
      if(m_pBtn == NULL)
      {
       m_pBtn = new CButton;
       int w = 50;
       int h = 20;
       int x0 = 100; // 这里是按钮的起始x坐标,以后用到再移动按钮吧
       int y0 = 100; // 这里是按钮的起始y坐标,以后用到再移动按钮吧
       m_pBtn->Create(_T("我的Button"),
        WS_CHILD|WS_VISIBLE|BS_FLAT,
        CRect(x0, y0, x0 + w, y0 + h),
        this,
        ID_MYBUTTON1);
      }
     2.4 在 BEGIN_MESSAGE_MAP(C***View, CView) 和 END_MESSAGE_MAP() 之间添加消息映射
      ON_BN_CLICKED(ID_MYBUTTON1, OnBtnFileOpen)
     2.5 添加消息处理函数
      void C***View::OnBtnFileOpen()
      {

      CFileDialog FileDlg(TRUE,
       _T("jpg"),
       _T("*.jpg"),
       OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
       TEXT("图像文件(*.jpg)|*.jpg||"),
       this);
     
      if (FileDlg.DoModal()!=IDOK)
      {
       return;
      }

      CString strFileName = FileDlg.GetPathName();

      HANDLE hFile
       = CreateFile(strFileName,
       GENERIC_READ|GENERIC_WRITE,
       FILE_SHARE_READ|FILE_SHARE_WRITE,
       NULL,
       CREATE_ALWAYS,
       FILE_ATTRIBUTE_NORMAL,
       0);
      // 利用hFile进行文件操作
      }

  • 相关阅读:
    内存跟硬盘的区别
    MCU在电动滑板车硬件实物的设计技巧
    MCU微控制器在电动滑板车技术核心剖析
    ​FRAM技术简介
    FRAM作为代码存储器应用中的单芯片解决方案
    ​内存技术词汇表
    NV-SRAM与BBSRAM之间的比较
    非易失性存储器NV-SRAM的关键属性
    游戏机电池供电的SRAM解决方案
    个人学期期末总结和对王建民老师的评价
  • 原文地址:https://www.cnblogs.com/zzxap/p/2175741.html
Copyright © 2011-2022 走看看