我有一个多帧的MFC GUI应用程序(有点像主窗口的Outlook行为,在新的帧中创建消息/约会窗口,或者像Skype一样的多帧同步),我需要通过窗口层次结构对malloc'ed数据进行后期消息处理。
比如,我得到了字符串、wcsdup、postmessage(wm_newstring,…)以及层次结构深处的某个控件处理它,或者如果没有订户,消息就被清除了。
我现在正在研究的是,所有消息都被发布到应用程序线程,线程找到活动的框架或最合适的框架,将消息传递给它,框架将消息传递给它的视图,视图将消息传递给子视图等等,如果没有视图来处理消息,它将得到一个E·D
问题是,这些链接命令编写起来相当麻烦,因为我必须在我拥有的每个CWND类中复制消息转发代码。同时,资源清理非常不愉快,因为如果没有窗口来捕捉消息,就必须有人调用free。因此,简单地将消息发送到主消息泵,而不进行额外的处理,希望有人总是能够捕获它,这不是一种有效的方法。postmessage返回s ou ok,没有人将消息视为可处理的,并且消息悬空。
有没有更好的,正确的方法来解决我正在寻找的问题?