在WinCE平台上自己创建的窗口调用系统函数,出现打开文件对话框,当文件加载完毕之后,在重绘窗口的时候发生了错误,我已经在对话框产生的函数中设置了标识,让WM_PAINT去空转,还是不行,请问这里有什么值得注意的地方吗,初上手,多指教

解决方案 »

  1.   

    是这样的:开始没有设置文件打开菜单的时候,对MENU菜单的响应直接就加载了某个文件,但是现在把对话框调出来了,在文件加载完之后多了一次重绘。原来的情况是加载文件之后就调用了多线程形成了位图,在WM_PAINT中对位图进行操作,现在因为多了这一次重绘,而重绘的部分又是利用了这些位图,所以出错了。我设置让这一次重绘不调用这些绘图部分,仅仅调用了InvalidateRect()函数,还是不行,所以没辙了
      

  2.   

    是不是你的重绘事件中没有hdc = BeginPaint (hWnd, &ps);和EndPaint (hWnd, &ps);语句呀
      

  3.   

    有的,这些没忘,让我纳闷的就是和原来一样的程序在Loading函数中加入了文件打开的对话框,这个对话框画出来的时候把原来的菜单抹去了。打开文件完成后,对话框要消失,这时候调用了WM_PAINT,而此时位图还没有准备好,所以出现了这些问题