When I click left button, some info should be displayed on the window.
But when maximum or minimum the window, the info will be disapeared.
So, I want to know can I involk OnPaint() function within OnLButtonDown()???

解决方案 »

  1.   

    你在OnLButtonDown时设一变量
    在onpaint中检查这个变量并决定是否做画
      

  2.   

    I tried, but nothing will be displayed.public: char fg;
    void CMyFrame::OnLButtonDown(UINT nFlags, CPoint point){
    fg = 'L';
    CMyFrame::OnPaint();//onPaint was defined as virtual void OnPaint()
    }
    void CMainFrame::OnPaint(){
         CPoint point;
    if(fg=='L'){
       CClientDC dc(this);
          CString tmp="test";
       dc.TextOut(point.x, point.y, tmp);
    }....
    }
    thanks advance.
      

  3.   

    你是doc/view的吧???那你得在view在做画呀在框架上画是看不到的
      

  4.   

    donot understand!
    pl. give some detail advise.
    3ks
      

  5.   

    kao...你是用向导建的工程吧
    如果是的话你看到的客户区其实是另一个窗口也就是CView!!!
    所以如果你要这些文字能够看到的话。。你就得在Cviw的onDraw中画 而且最好onlbutton也在cview在响应
      

  6.   

    同意KINGCOM—XU的看法,虽然我没有试,但是你可以试试把CMyFrame换成CMyView看看成不成,而不要在框架里面画
      

  7.   

    no, I used win32 application to create project. no using wizard.
    I created window by using 
    Create(NULL, 
       "test",
       WS_OVERLAPPEDWINDOW,
       //WS_SYSMENU,
       CRect(100,100,500,600));
    Btw, what's difference between OnDraw and OnPaint()??
    many thanks. Sorry for my so many bother. I am a CAINIAO