2012-04-18 76 views
1

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

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

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

感谢

+0

请问,你能更具体吗?对话框上的 – MrD 2012-04-18 13:09:37

+0

;有两个编辑框;这样用户可以输入任意两个数字作为输入,然后执行结果。为了输入目的,我需要做什么?如何定义可用于输入的编辑框。 – 2012-04-18 13:24:41

回答

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框架将自动填充与对话初始化成员变量的值的编辑框,并更新板v单击OK按钮时,可编辑框的值将变为可编辑的值。这是一件好事,因为您只需读取和写入这些成员变量,而不是直接操作编辑框。

+0

谢谢你itx done-它的构建,我也使用它 - 现在输出文件在哪里?我无法在我的项目目录中找到此输出窗口文件 – 2012-04-18 13:48:12

+0

您的意思是应用程序的可执行文件?它取决于你的项目配置,大部分时间它驻留在项目目录下的Debug或者Release目录下。 – 2012-04-18 13:52:45

+0

是的 - 确切地说。但是那里没有这样的文件。 :( – 2012-04-18 13:54:22