我想做出一个界面,在界面上画一矩形,然后再通过输入数据来画线切割这个矩形,把矩形切割成多份,同时可以控制已经画好的切割线(比如可以控制任意一条让它消失掉,而其他的不操作的不消失掉)。
我自己能做出个界面,画出矩形,加进去几个按钮,同时创建了几个edit框想获取数据,可不知道用消息函数里传递的消息中哪个参数是含有我输入的数据,用哪个函数读取,我画出了几条切割线后,想通过按钮控制让一条画好的线消失,也不知道怎么弄了,那位大哥能帮帮小弟啊,

解决方案 »

  1.   

    对响应事件做标记,然后在WM_PAINT判断
      

  2.   

    能说的详细些吗,我自己看的一些api编程的书,看的糊里糊涂的,怎么标记啊?
      

  3.   

    这个,,你可以先看一下《深入浅出MFC》里面有一个画图形的例子,那个例子很简单,思想比较好,毕竟是候老师写的书,呵呵。学一下他的思想。然后用SDK改一下吧,也当是学习。
      

  4.   

    最简单的是不用消息,直接全局变量控制,然后在WM_PAINT中对全局变量做判断
      

  5.   

    用全局变量控制,比如你要画多少条线,先GetDlgItemInt获取到全局变量,然后InvalidateRect
    在WM_PAINT中对你 的全局变量做判断,然后分别画线
      

  6.   

    说穿了也就是在PAINT时把所有情况考虑进去,然后对事件响应时只控制参数的值,并InvalidateRect通知重绘界面
      

  7.   

    对所有的图形定义一个结构,然后画一个,保存一个到std::list中去~~~
      

  8.   

    那怎么读取我自己创建的edit文本框中输入的数据啊,
      

  9.   

    #ifndef UNICODE
    typedef std::string Tstring;
    #else
    typedef std::wstring Tstring;
    #endif
    Tstring  GetText(HWND hwndEdit)
    {
    Tstring szBuffer;
    int i = GetWindowTextLength(hwndEdit);
    if (i)
    {
    szBuffer.resize(i);
    if (0 == GetWindowText(hwndEdit, (LPTSTR)(szBuffer.c_str()), i+1))
    {
    szBuffer[0]='\0'; 
    }
    }
    return szBuffer;
    }