谁的事情谁做,千万不要代劳

 一直在想,如何高效的重复使用代码,做界面的时候,也常想如何让一个对话框类复用。由于对话框类比较特殊,一般都是针对特定的需求制定,有几个编辑框,几个组合框,几个按钮,有没有复选框等等,各不相同,要复用对话框是比较难的。

偶尔也有一些窗口可以复用,例如一个对话框用来接收一条记录的输入,当有多个地方需要添加这样的记录的时候,就可以复用这个对话框。

 

但是,一定不要在子窗口中去更新父窗口的控件状态,比如父窗口有一个列表控件显示一个数据库中的记录,当添加记录的对话框像数据库中插入记录成功以后,需要更新父窗口中显示记录的列表,此时不能在子窗口中完成这个操作,因为这样子窗口必须调用父窗口的函数,甚至有可能要直接用到父窗口的资源等等。如果是这样,那父窗口就唯一了,当父窗口发生改变时,子窗口就不能复用。

采取的办法是,子窗口发送消息给父窗口,父窗口在消息处理函数中更新自己的列表,甚至做其他的事情都可以。当父窗口发生改变的时候,只需要新的父窗口也处理此消息即可,不需要改变子窗口,这样就在一定程度上实现了子窗口的复用。

 

这就是所谓的“谁的事情谁做,不要代劳”。更新列表是父窗口的事情所以,父窗口自己在消息处理函数中做,子窗口只起到通知父窗口做这件事的作用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值