关于有界面ActiveX控件开发中出现的怪事:容器移动后,控件窗口区不动
软侠 2010-04-09 06:18:10 RT
我用VC++的ATL开发了一个ActiveX有界面的复合控件,里面含一个对话框,我为这个对话框设置了一个边框(是为了在使用时能看出它在什么位置),然后为这个对话框加了响应鼠标单击和移动消息的函数,现在发现的问题是:我把控件用支持使用ActiveX控件的编程语言(如VB6)加到一个窗体中,然后打开这个窗口(我称之为容器窗口),当这个窗口不进行任何移动时,我在我的ActiveX控件界面中移动鼠标,发现,确实可以捕获到鼠标消息,但是,如果我把容器窗口移动一段距离,这时我发现怪事发生了,再在容器窗口中我的ActiveX控件界面上移动鼠标,发现竟然不发生鼠标事件,而奇怪的是:在控件的移动前的界面显示区的范围内(注意:此时控件的界面已经跟着窗体移动到位置了,这个范围不显示我的ActiveX控件)单击或移动鼠标却发生了鼠标单击或移动事件,这说明,当容器窗口移动后,ActiveX控件的界面跟着移动了,但接收消息的窗口区却没有跟着移动.
请问各位大虾,这是为什么?真是太费解了,希望高手帮忙解答!!!!!!!!