ATL控件FireViewChange宿主程序退出

最近写了个ATL控件,今天在调试时发现一个奇怪的问题,在调用FireViewChange通知宿主刷新时,宿主程序居然执行OnDestroy了。于是下断点,没跟踪到任何发送给宿主关于退出的。于是静下心来,仔细想了想,FireViewChange之后宿主刷新,然后执行OnDraw,那么,很可能是OnDraw有问题。于是跟进,啊,发现OnDraw中调用了一个类去绘制,而该类在初始化的时候存储了HDC,而OnDraw每次传递的HDC均不同,于是修改一下每次OnDraw将HDC传入即可。


猜你喜欢

转载自blog.csdn.net/xuddk727/article/details/10435201