基于QT跨平台的重用MFC消息映射代码的方法、设备及介质

    公开(公告)号:CN119065712A

    公开(公告)日:2024-12-03

    申请号:CN202411168124.0

    申请日:2024-08-23

    Abstract: 本发明涉及一种基于QT跨平台的重用MFC消息映射代码的方法、设备及介质,其中方法包括以下步骤:基于QT定义MFC消息映射相关的数据类型、函数指针类型以及新的事件类型及其类型值;定义消息发送函数,将消息内容封装到新定义的事件类型中,并通过消息发送函数发送到目标;定义事件处理函数,当事件处理函数根据QEvent类型事件的类型值判断并转换新的事件类型,取出事件中的消息ID和消息参数数据,根据目标类的消息映射表查找消息ID的消息映射条目,获得消息响应函数;调用消息响应函数处理消息参数数据,返回处理结果并存到事件中;基于消息发送函数将处理结果返回给调用者;改造MFC中的宏BEGIN_MESSAGE_MAP,使之与QT平台匹配,使得消息映射相关的宏在QT仍能使用;新增宏WM_DECL_WNDMSG、WM_IMPL_WNDMSG,将事件处理相关函数的声明和实现封装到宏代码中,使得事件处理函数的代码模式化。与现有技术相比,本发明重用既有MFC程序的消息映射相关的代码,减少移植时的代码修改量,提高了工作效率。

Patent Agency Ranking