我的程序是个多文档多视图结构,同时有个TREE和LIST窗口。TREE中的每条记录代表一个view,和多条LIST中的记录。LIST中的每条记录是在view中画的图形,对应于TREE中的不同条目。点击TREE时要将LIST的选中项定在对应页面的第一条,同时切换到对应的view。点击LIST时,要将对应的view调出来(可能已经关闭或失去焦点),TREE的选中项也要更新。点击view时,要将TREE的选中项切换到对应的条目,同时LIST的选中项定在对应的页面的首条。点击TREE处理的消息是TVN_SELCHANGED,两次点击相同的条目,消息还只来一次。点击LIST处理的消息是NM_CLICK点击view处理的消息是WM_SETFOCUS,通过tree.SelectItem更新TREE,会诱发TVN_SELCHANGED可以点击view上的叉关闭掉view,同时也要更新TREE和LIST。视图初次打开时是最大化的,但是多个视图出现后允许“层叠”和“平铺”,这是的窗口不是最大化的。感觉控制还是有些漏洞,不能达到自如状态,请教高手,有什么好的处理思路?主要问题是在TREE和view之间的控制,相互诱发对方的消息,不知道是谁调谁。LIST的问题不大,更新LIST不会诱发新的消息。