MFC 中的 Managing the Updown Control

首页 / MFC入门教程 / MFC 中的 Managing the Updown Control

步骤1 -添加控制变量 m_spinControl 用于Spin Control,其设置如下快照所示。

Managing Updown Control

步骤2 - 为Edit控件添加控制变量m_editControl。

m_editControl

步骤3 - 为旋转按钮添加UDN_DELTAPOS事件的事件处理程序。

Managing Updown Control

步骤4 - 如以下代码所示,更新OnInitDialog()。

BOOL CMFCSpinButtonDlg::OnInitDialog() {
   CDialogEx::OnInitDialog();

   //设置此对话框的图标。该框架会自动执行此操作当应用程序的主窗口不是对话框时
   SetIcon(m_hIcon, TRUE);        //Set big icon
   SetIcon(m_hIcon, FALSE);      //Set small icon
   //TODO: Add extra initialization here
   m_spinControl.SetRange(0, 100);
   m_spinControl.SetPos(50);
   m_editControl.SetWindowText(L"50");
   return TRUE; //return TRUE unless you set the focus to a control
}

步骤5 -这是旋转控制事件的实现。

无涯教程网

void CMFCSpinButtonDlg::OnDeltaposSpin1(NMHDR *pNMHDR, LRESULT *pResult) {
   LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
   //TODO: Add your control notification handler code here
   //声明一个指向 CSpinButtonCtrl 的指针;
   CSpinButtonCtrl *Spinner;
   //获取指向我们的旋转按钮的指针
   Spinner = reinterpret_cast<CSpinButtonCtrl *>(GetDlgItem(IDC_SPIN1));
   //找出是否是我们的旋转按钮发送了消息这个条件语句似乎没用,但那又如何呢?
   if (pNMHDR -> hwndFrom == Spinner -> m_hWnd) {
      //获取旋转按钮的当前值
      int CurPos = pNMUpDowniPos;
      //将值转换为字符串

      CString str;
      str.Format(L"%d", CurPos);
      //将值显示到随附的编辑框中
      m_editControl.SetWindowText(str);
   }
   *pResult = 0;
}

步骤6 - 编译并执行上述代码后,您将看到以下输出。

链接:https://www.learnfk.comhttps://www.learnfk.com/mfc/mfc-managing-updown-control.html

来源:LearnFk无涯教程网

Managing Updown Control

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

Linux性能优化实战 -〔倪朋飞〕

从0开始做增长 -〔刘津〕

深入浅出计算机组成原理 -〔徐文浩〕

DDD实战课 -〔欧创新〕

性能测试实战30讲 -〔高楼〕

MySQL 必知必会 -〔朱晓峰〕

零基础入门Spark -〔吴磊〕

Web漏洞挖掘实战 -〔王昊天〕

云计算的必修小课 -〔吕蕴偲〕

好记忆不如烂笔头。留下您的足迹吧 :)