细述 wxWindows
2008-09-30 13:05:33 来源:WEB开发网wxWindows 的事件系统也与 MFC 非常相似,消息映射表都是将事件处理程序方法映射到事件系统。在 wxWindows 中,这些称为事件表。事件表宏与 MFC 的消息映射只有一点差别。在下面的源代码中显示了主要差异。
头文件的 MFC 代码
class CButtonCtrl : public COleControl
{
// Implementation
protected:
LRESULT OnOcmCommand( WPARAM wParam, LPARAM lParam );
DECLARE_MESSAGE_MAP()
};
实现文件的 MFC 代码
BEGIN_MESSAGE_MAP( CButtonCtrl, COleControl )
//{{AFX_MSG_MAP( CButtonCtrl )
ON_MESSAGE( OCM_COMMAND, OnOcmCommand )
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
头文件的 wxWindows 代码
class MyButton : public wxButton
{
void OnButton( wxMouseEvent& event )
private:
DECLARE_EVENT_TABLE()
};
实现文件的 wxWindows 代码
BEGIN_EVENT_TABLE( MyButton, wxButton )
EVT_BUTTON( -1, MyButton::OnButton )
END_EVENT_TABLE()
如您所见,并没有什么不同。在邮件列表中已经有相当一部分人成功地将他们现有的 MFC 应用程序移植到 wxWindows(我们也非常愿意帮助您:)。
标准 C++
wxWindows 还没有使用标准 C++ 技术(例如 std::string 、STL 或名称空间),因为这样会大量减少 wxWindows 可在其上进行编译的平台数。(只有很少一些编译器完全支持标准 C++ 的最新特性。)但随着标准 C++ 越来越受到普遍支持,wxWindows 开发小组会将对标准 C++ 的支持集成到它的库中。让我们看看他们都做了哪些工作。
更多精彩
赞助商链接