Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MFC中更改编辑控件值的句柄Enter_Mfc - Fatal编程技术网

在MFC中更改编辑控件值的句柄Enter

在MFC中更改编辑控件值的句柄Enter,mfc,Mfc,我使用编辑控件在MFC中显示输入值。该值在while循环中用于计算其他参数。当使用EN_CHANGE更新数据值时,我不能使用float输入数字。在按下Enter键后,如何实际更改该值 float m_ini_gainG; // m_ini_gainG is value of edit Control. void CMy0Dlg::OnClickedPlay() { m_thread = AfxBeginThread(MainThread,this);

我使用编辑控件在MFC中显示输入值。该值在while循环中用于计算其他参数。当使用EN_CHANGE更新数据值时,我不能使用float输入数字。在按下Enter键后,如何实际更改该值

    float m_ini_gainG;  // m_ini_gainG is value of edit Control.


    void CMy0Dlg::OnClickedPlay()
    {
       m_thread = AfxBeginThread(MainThread,this); 
    }


    UINT CMy01Dlg::MainThread(LPVOID pParam)
    {
      CMy01Dlg *pMainDlg = (CMy01BayerToRGBDlg*)pParam;
      while(1)
       {
        pMainDlg->m_iTimer = pMainDlg->SetTimer(DISPLAY, 10, 0);

       }
      return 0;
    }



    void CMy01BayerToRGBDlg::OnTimer(UINT_PTR nIDEvent)
    {

      if(nIDEvent == DISPLAY)
      {
        Read(data); // data is read continuously
        ......
        gainB = temp_G*m_ini_gainG/temp_B;
        m_gainB.Format(L"%0.2f",gainB);
        UpdateData(FALSE);
     }
    CDialogEx::OnTimer(nIDEvent);
    }



    void CMy01BayerToRGBDlg::OnChangeIniG()
    {

     UpdateData(TRUE);
    }

我只能为m_ini_gainG设置整数值。我不能进去。设置浮点值。

您能告诉我们您已经只有相关部分的代码吗?您不能使用浮点输入数字是什么意思?如果我正确理解您的问题,下面是一个链接,展示了如何操作:为什么线程中有一个无限循环来调用计时器?如果编辑控件的Number属性设置为True,您是否检查了资源?这相当于在其文件行中添加一个ES_编号选项。不清楚您真正的问题是什么。是因为您不能输入浮点数值,还是因为您想处理Enter键?