MFC单文档应用程序用户输入

时间:2014-12-02 06:58:25

标签: c++ visual-c++ mfc window

我的问题很简单,但我还没有找到解决办法。我目前正在制作单文档MFC应用程序,我需要以任何可能的方式输入用户。我已经探索了 CDialog ,但还没弄明白如何让它工作。我需要在窗口中从用户输入非常基本的整数。这是我第一次使用 MFC 进行开发,我到处尝试但没有找到解决方案。如果有人能帮忙,我真的很感激 修改: 我正在使用CPaintDC在我的应用程序中绘制不同的形状,如椭圆和方形:

    CPaintDC dc(this); // device context for painting
    dc.Ellipse(200, 200, 400, 400);

我需要做的就是获取用户对椭圆点的输入,并使用上面的函数绘制形状。

dc.Ellipse(x1,y1,x2,y2);
// where x1,y1 and x2,y2 are user inputs. any way to get the user input will do.. thanks

以下是我已经探索过的链接:

Interactive Service - Display Dialog Box & Get Input from user

http://www.codeproject.com/Articles/13330/Using-Dialog-Templates-to-create-an-InputBox-in-C

没什么变化的。这是我的代码:::

 void AddCircle::OnBnClickedOk()
 {

    CDialogEx::OnOK();

    CString abc;   
    x1ctrl.GetWindowText(abc);
    int x1;
    _stscanf(abc, _T("%d"), &x1); //convert CString to integer value

    y1ctrl.GetWindowText(abc);
    int y1;
    _stscanf(abc, _T("%d"), &y1); //convert CString to integer value

    x2ctrl.GetWindowText(abc);
    int x2;
    _stscanf(abc, _T("%d"), &x2); 
    y2ctrl.GetWindowText(abc);
    int y2;
    _stscanf(abc, _T("%d"), &y2); 
    Invalidate();
    CPaintDC dc(this);
    dc.Ellipse(x1, y1, x2, y2);
}

1 个答案:

答案 0 :(得分:0)

从工具箱中选择一个EditControl。右键单击Edit Control-> Add variable,给变量名称m_myedit

在按钮上单击编写此代码

CString abc;   //Take CString variable 
m_myedit.GetWindowText(abc);   //read value from textbox
int x1;  
_stscanf(abc, _T("%d"), &x1); //convert CString to integer value

使用不同的editbox获取x2,y1和y2的值。