2012年8月9日
摘要: 几个需要注意的地方:代码规范, 命名规范, 注意非法情况使用断言, 新分配内存注意释放。1、成员变量需要在前面加上m_xxx;2、类中,成员变量、枚举、虚函数、消息响应函数等需要在之间加上空行。DECLARE_MESSAGE_MAP()可以放在最后,也就可以放在消息响应函数之前。3、成员变量最好在构造函数内就初始化,防止未初始化引用。4、分配内存空间后需要判断是否分配成功。可以使用ASSERT,也可以通过MessageBox来进行提示。5、Create、Set等函数调用后需要判断返回值,防止创建不成功导致错误。可以使用VERIFY(在Release下仍能执行)。同样可以使用消息提示。6、当表达 阅读全文
posted @ 2012-08-09 15:16 fengluo 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 例如需要重载OnClose():在Class View中选择你要重载的函数所在的类,右键,选择属性(properties),如下图:弹出如下窗口:点击进去后可选择相应的消息函数用于重载。 阅读全文
posted @ 2012-08-09 11:59 fengluo 阅读(4950) 评论(0) 推荐(0) 编辑
摘要: 例子为非模态对话框,ID为ID_MODELESS,为其创建一个类:CModelessDlg在父对话框(ID_FIRSTUI)的相应按钮写上事件(以IDCANCEL为例):void CFirstUIDlg::OnBnClickedCancel(){ if (pDlg == NULL) { // 指针为空则创建非模态对话框并显示 pDlg = new CModelessDlg; pDlg->Create(IDD_MODELESS, this); pDlg->ShowWindow(SW_SHOW); } else... 阅读全文
posted @ 2012-08-09 11:27 fengluo 阅读(8342) 评论(0) 推荐(0) 编辑
摘要: 原文见:http://hi.baidu.com/wither/blog/item/8712094f55586a3caec3ab4d.html一般来说,对于一个默认情况下的对话框程序,用户在运行的时候,如果不小心按下了 Enter或是Esc键,程序就会立刻退出。因为:当用户按下Enter时, Windows就会自 动寻找输入焦点(focus)落在哪一个按钮上(当前获得焦点的按钮即为当前选中的按钮,用Tab键可以来回切换,按钮四周将被点线包围)。此时,即使对话框中没有OK按钮, OnOK()函数也会被调用,对于普通的对话框程序来说,OnOK()函数的调用就意味着程序 退出。所以,要使Enter键无 阅读全文
posted @ 2012-08-09 11:17 fengluo 阅读(875) 评论(0) 推荐(0) 编辑