领测软件测试网
软件测试技术门户)C8`/P$N(]3j4t
F M$[g:G @*GVq软件测试技术门户@
ux0yXteB//对于{ No. 12 } 项目描述中,当画图的窗体控件属性或状态改变时,经常会需要通知所有的图形对象,进行相应的改变。
软件测试技术门户|;tUG)R;P3t1c//则如果只定义一个广播函数,就可以实现父子通知的话,也会提高程序的可重用性、扩展性、易维护性等,使类结构清晰。
软件测试技术门户#d:dbT+R-p4j)gS3p:n
|/c0s7v//比如:1、在Visio和MapInfo中,如果当前窗体的比例尺(缩放比例)改变时,需要用新的比例尺重画当前所有的显示图形对象。2、当当前窗体默认窗体字体改变后,对于默认使用窗体字体显示文字信息的图形对象,他们的文字字体也应该相应的改变。
软件测试技术门户O't'm)f8n
I&L6vG9J'X
^HaE5XFx//解决方案,参考TWinControl中,属性或状态改变时,通知所有子Controls的处理机制:
软件测试技术门户3IuP
d
qoi#Hprocedure TWinControl.NotifyControls(Msg: Word);
软件测试技术门户Ei@3@o_V9svar
软件测试技术门户E+P3y:~'v7X(dWMessage: TMessage;
_+O \N1B8L*e6kbegin
软件测试技术门户/H5k@"[r1n!bMessage.Msg := Msg;
软件测试技术门户b.d1\K9o,L(DXMessage.WParam := 0;
EQ'g