这几天通过不断改进和测试,已改进得较为完善了,现将最新版发上来,供老师们检验,并请指导. 我也将改进的经验汇报一下,供大家参考:(均使用双表单透明重叠方法,存在操作事件响应穿透情况.)
1.主表单控件使用不透明,背景采用透明色时,存在以下问题:
(1)当主表单控件背景与透明背景一致无视觉差时,测试发现控件对事件的反应程度与控件背景透明时的灵敏度无差异,仍然存在强穿透性. 只有当控件背景与透明背景存在色差时,才会保持控件事件的正常响应程度.
(2)在背景透明表单,透明度大于100时,即使取透明背景色作为控件背景色,仍然存在较大色差,影响了美观度.可能此时存在色素重叠色的情形.
由于存在以上问题,我放弃了此方法的应用.经测试摸索找到了以下较为实用的方法.
2.利用透明背景的穿透性,从背景表单入手,来满足事件响应的灵敏度.(此方法的灵敏度与正常表单无异)
仍在透明控件的基础上,对主表单基本不作修改,只在背景表单的双击事件上同步调用菜单程序,并在其鼠标移动事件上区别鼠标是否在日期控件范围内..使用了标记开关来防止菜单反复弹出..为确保事件响应的灵敏度,背景表单透明度应大于5为宜.