为了把重点集中在窗口类的定义方法上,本节以较为简单的AboutDlg为例,阐述如何定义窗口类。
在第一节中,我们已经在Resource View(资源视图)中添加了所需的窗口。在这里简单总结一下:向主窗口中添加Tab控制,用作菜单选项卡;添加IDD_DLG_CREATOR子窗口,作为Main子窗口;向IDD_ABOUTBOX子窗口添加了一个Edit控制,用来显示PicSi的使用说明,作为About子窗口。
切换到Solution Explorer视图,我们可以看到Application Wizard自动生成的源文件AboutDlg.h,双击它进入编辑窗口。AboutDlg.h比较简短,全部代码如下:
// aboutdlg.h : interface of the CAboutDlg class
//
/
#pragma once
class CAboutDlg : public CDialogImpl<CAboutDlg>
{
public:
enum { IDD = IDD_ABOUTBOX };
private:
CEdit m_editAbout;
public:
BEGIN_MSG_MAP(CAboutDlg)
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
COMMAND_ID_HANDLER(IDOK, OnCloseCmd)
COMMAND_ID_HANDLER(IDCANCEL, OnCloseCmd)
END_MSG_MAP()
// Handler prototypes (uncomment arguments if needed):
// LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
// LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
// LR