我做了一个OCX控件,是显示一个透明图片,在插入到WORD之后,当有焦点时可以正常显示透明图片,当时去焦点时,透明是透明了,图片没了!
我DEBUG一下发现当有焦点时候,ONDRAW函数调用一次,传入的CDC是一个CPaintDC类型的,就是相当于调用了ONPAINT,这时候可以显示这个透明图片。当失去焦点时,调用两次ONDRAW,传入不同的CDC指针,个人猜测是控件父窗口的CDC!这时候就不能显示图片了!
当在ONDRAW里绘画使用TransparentBlt函数绘画透明图片就会出现上述情况!使用BITBIT函数绘画非透明图片时,就能正常显示!
我DEBUG一下发现当有焦点时候,ONDRAW函数调用一次,传入的CDC是一个CPaintDC类型的,就是相当于调用了ONPAINT,这时候可以显示这个透明图片。当失去焦点时,调用两次ONDRAW,传入不同的CDC指针,个人猜测是控件父窗口的CDC!这时候就不能显示图片了!
当在ONDRAW里绘画使用TransparentBlt函数绘画透明图片就会出现上述情况!使用BITBIT函数绘画非透明图片时,就能正常显示!
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知见此回复三日内无回应
我们将强制结帖
相关规定详见界面界面版关于版主结帖工作的具体办法