输入为浮点数

时间:2012-04-18 13:01:39

标签: visual-studio-2010

我想使用MFC应用程序在visual studio 2010上制作计算器。为此我使用了一个对话框来创建计算器并添加按钮和编辑框。我们知道编辑框用作输入。所以我想把输入作为浮点输入。这就是下面的句子:

有一句话:首先选择两个编辑框并将它们放在对话框上。使用“视图”菜单中的“类向导”将每个类连接到浮点数,值为number1或number2。

编辑框在那里。现在如何将它们连接到浮点数,值为1?该程序是什么?

由于

1 个答案:

答案 0 :(得分:1)

如果我正确理解您的问题,您希望将编辑框绑定到对话框的float成员变量。这称为dialog data exchange。在这个答案中,我将尝试解释如何使用代码实现这一点(它应该比教授类向导更有帮助。)

基本上,您在对话框中定义了两个float成员变量及其访问者:

class CYourDialog : CDialog
{
    // ...

public:
    float GetNumber1() const {
        return m_number1;
    }

    void SetNumber1(float val) {
        m_number1 = val;
    }

    float GetNumber2() const {
        return m_number2;
    }

    void SetNumber2(float val) {
        m_number2 = val;
    }

private:
    float m_number1;
    float m_number2;
};

然后,您覆盖对话框的DoDataExchange()方法,并从那里调用DDX_Text()以将成员变量绑定到控件:

void CYourDialog::DoDataExchange(CDataExchange *dx)
{
    CDialog::DoDataExchange(dx);
    DDX_Text(dx, IDC_NUMBER1_CONTROL_ID, m_number1);
    DDX_Text(dx, IDC_NUMBER2_CONTROL_ID, m_number2);
}

从那里,MFC框架将在对话框初始化时使用成员变量的值自动填充编辑框,并在单击OK按钮时使用编辑框的值更新成员变量。这是一件好事,因为您只需要读取和写入这些成员变量,而不是直接操作编辑框。