超级奇怪的有关问题啊高分求救,工具栏图标散开和windows屏保扯上关系了?(分不够可再加)

超级奇怪的问题啊,高分求救,工具栏图标散开和windows屏保扯上关系了?(分不够可再加)
我用MFC框架做了一个多文档的程序,工具栏上的图是我用贴图(bmp图片)贴上去的,是加在MainFrame中的,我用了从网上下的一个封装了工具栏贴图的类CTrueColorToolBar ,贴图这部分应该没有问题,因为我把这部分程序拿出来做了测试,没有出现散开的现象。

再补充一点,我的程序用了CSplitterWnd,用的是静态分割的方法,也不知道和这个有没有关系。

工具栏贴图正确时的效果:
http://p.blog.csdn.net/images/p_blog_csdn_net/queshangxintou/376113/o_2.JPG
工具栏贴图错误时的效果:
http://p.blog.csdn.net/images/p_blog_csdn_net/queshangxintou/376113/o_1.JPG

出错的原因:
程序出错情况1:程序运行普通的运行都没有问题,当程序处于闲置状态时(程序仍在运行),windows的屏保会出现,当鼠标或键盘激活windows桌面时,程序中的工具栏就会出现上面出错时的情况,但是这种错误出现的几率大约是40%左右。
程序出错情况2:首先运行我的程序,然后打开windows的设置屏幕保护程序属性页,然后选择不同的屏幕保护程序,点击应用或确定,我的工具栏图标就会散开,如上图的效果,这种情况下散开的几率是100%。

请各位大侠帮忙给分析一下,出错的原因会在那,分不够可再加,在此先谢过了,在线等侯中~~~~~~~~~

------解决方案--------------------
你的程序是否动用了WM_SETTINGCHANGE之类的系统消息。
------解决方案--------------------
晕,还没听说过这种问题.
------解决方案--------------------
这是贴图错误,还是按钮散开了?贴图错误时按那些按钮还有效吗?
------解决方案--------------------
你以前给我发过测试例程,按你说的第二种情况也没出现散开的情况,真是奇怪

//你可以将测试例程放到版上,供大侠们下载测试
------解决方案--------------------
创建工具栏的代码贴出来看看。另外创建之后有没有再对工具栏做修改之类的操作?
------解决方案--------------------
回到最原始的创建测试一下~
------解决方案--------------------
这问题除非自己遇到过否则不看代码没法分析。LZ有没有简单的可以体现出问题的代码,发一份看看。我的邮箱:wasay@yeah.net
------解决方案--------------------
你可以试着把你认为不可能有影响的代码都一一注释掉,逐步缩小问题。
------解决方案--------------------
探讨
应该是在程序计算屏幕分辨率时错误了。

------解决方案--------------------
还有“映射模式”的问题,这个可以写一小段测试代码在程序里面。先读一个值,在屏保后再读一个值,看是否一样?
------解决方案--------------------
你可以试一种方法来查问题:重载CToolBar类的WindowProc,判断TB_SETBUTTONSIZE、TB_SETBUTTONWIDTH等相关消息,在收到这些消息的时候设置断点,根据调用栈来查找是由哪里的代码引起的。