在消息循环中比如WM_TIMER中嗲用InvalidateRgn 刷新窗口或删除背景都正常
但是在线程中调用它就没用 窗口画的一塌糊涂 谁告诉我为啥?

解决方案 »

  1.   

    定时器要用回调方式
    static VOID CALLBACK TimerProc(HWND hwnd,UINT uMsg,UINT uIDEvent,DWORD dwTime);
    SetTimer(NULL,1,10000,TimerProc);
      

  2.   

    在工作线程中进行GDI操作 总是出现这样那样的问题
    在主线程消息循环中一切正常该重画得重画 该刷新的刷新
    唉 有没有哪位知道 我漏了点什么啊? 或者该注意什么啊?
      

  3.   

    工作线程中最好不要直接调用那些作用于UI的函数,尽量通过给UI窗口发送消息的方式重画
    ==========================================================
    ZZZZZZZZZZZZzzzzzzz~~~~~~~~~~
      

  4.   

    在线程中最好不要进行GDI操作,因为那样的话有可能造成死锁现象,那时由于可能会主线程和工作线程都要GDI操作,会锁定DC而造成的。所以你的解决办法是把进行GDI操作放在你的
    主线程中,在你的工作线程中发消息给主线程,那样做的话肯定没有问题的。
      

  5.   

    hehe,用消息吧。就像楼上们说的。
      

  6.   

    工作线程给主窗口发送消息,要注意的是要用HWND句柄和Win32 API函数,不要使用CWnd类。