我在dialgo界面上显示了一张图片,
然后点击按钮1,在dialog界面上画了一条线,例如:
pDC->MoveTo(0,0);
pDC->LineTo(236,0);点击按钮2,在dialog界面上画了另外一条线,例如:
pDC->MoveTo(20,30);
pDC->LineTo(100,210);现在的问题是怎样在点击按钮2的时候,把按钮1画得线去除?而直接显示点击按钮2画得?我知道有个消息响应函数是OnEraseBkgnd可是不知该怎么处理。。

解决方案 »

  1.   

    设置一个成员变量,比如int m_nDrawType;初始化为0。
    按钮1的响应消息:
    m_nDrawType = 1;
    Invalidate();按钮2的响应消息:
    m_nDrawType = 2;
    Invaildate();OnPaint()中(else里面):
    CPaintDC dc(this);
    switch (m_nDrawType)
    {
        case 1:
           dc.MoveTo(0,0); 
           dc.LineTo(236,0); 
           break;
        case 2:
           dc.MoveTo(20,30); 
           dc.LineTo(100,210); 
           break;
    }