ex06e:
1.第一次编译不成功因为没有设置按钮的Owner Draw属性为真
2.CAboutDlg类的声明和实现在ex06.cpp文件中
关于那个类在哪声明和实现,只要打开类视图双击就知道了,不用记住,没准哪天微软就把声明和实现换地方了也未可知。
3.位图的名字标示加引号,表示用名字标示资源而不是ID;
ex07a:
1.勘误
P128页把m_bCat改为m_nCat
P131页m_nLang,同样与前面定义的类型不一致,改过来;
2.一般来说模态对话框都是调用 CDialog::EndDialog(int);结束的 模板生成的OnOK();和OnCancel();分别对应EndDialog(IDOK);和EndDialog(IDCANCEL); 以下是一般对话框的结束码定义,对应的含义看其英文就行了。
#define IDOK 1
#define IDCANCEL 2
#define IDABORT 3
#define IDRETRY 4
#define IDIGNORE 5
#define IDYES 6
#define IDNO 7
#if(WINVER >= 0x0400) #define IDCLOSE 8 #define IDHELP 9 #endif /* WINVER >= 0x0400 */ 你也可以自己定义结束码,然后由调用对话框的函数去判断结果。
3.程序运行,点击对话框没有赋初值,对比源代码发现Cex07aDialog::OnInitDialog()里面,默认return TRUE;
改为 return CDialog::OnInitDialog();好了