Re 15#:
大概是这样,和我的解法有点不同。afan兄的代码,只要有WM_COMMAND消息出现,都会重新设置一次输入框中的内容。其实点击label或button控件或设置焦点到输入框的那一瞬间,包括用户正在输入框输入内容,这些情况下都会发送WM_COMMAND消息。
WM_COMMAND的lparam为控件句柄,wparam的低4位是控件ID,高4位是消息ID,比如EN_SETFOCUS表示用户把键盘焦点设置到了lparam所代表的控件上,EN_KILLFOCUS表示用户把焦点从lparam上移走。当用户正在输入内容时,wparam的高4位会设为EN_CHANGE,让两个输入框同步,只需检测wparam的高4位是否是EN_CHANGE就可以了。
Re 22#:
按理说这种方法应该是最不消耗CPU的,因为只要在消息出现的时候才会调用自定义函数,而非自己主动循环检测。测试了一下,内存占用果真会多出一倍,如果希望节省内存而且程序又不大的话,使用第一种方法也不错。如果是大程序,还是建议使用注册WM_COMMAND消息的方法,论坛有一个很强大的清理内存的UDF,配合那个内存清理UDF使用,内存也就几百k。以上。
PS,不要在大虾大虾的叫了,afan兄还真是折杀我了,论坛牛人多的是啊。