文章列表
使用运行时类型识别,需要注意以下几点:被识别的类必须在.H文件和.CPP文件中分别声明DECLARE_DYNAMIC( class_name ), 和IMPLEMENT_DYNAMIC( class_name, base_class_name )。可以在msdn中索引IMPLEMENT_DYNAMIC来查看具体例子。
如果不小心把’->’写成了’.',通常会提示类似这样的错误:error C2228: left of ‘.m_cAttrList’ must have class/struct/union type
对工程有较大改动的时候,要先做好备份。
不要在Domodel();语句之后对 ...
- 2007-06-07 15:02
- 浏览 675
- 评论(0)
使用运行时类型识别,需要注意以下几点:被识别的类必须在.H文件和.CPP文件中分别声明DECLARE_DYNAMIC( class_name ), 和IMPLEMENT_DYNAMIC( class_name, base_class_name )。可以在msdn中索引IMPLEMENT_DYNAMIC来查看具体例子。
如果不小心把’->’写成了’.',通常会提示类似这样的错误:error C2228: left of ‘.m_cAttrList’ must have class/struct/union type
对工程有较大改动的时候,要先做好备份。
不要在Domodel();语句之后对 ...
- 2007-06-07 15:02
- 浏览 518
- 评论(0)
使用运行时类型识别,需要注意以下几点:被识别的类必须在.H文件和.CPP文件中分别声明DECLARE_DYNAMIC( class_name ), 和IMPLEMENT_DYNAMIC( class_name, base_class_name )。可以在msdn中索引IMPLEMENT_DYNAMIC来查看具体例子。
如果不小心把’->’写成了’.',通常会提示类似这样的错误:error C2228: left of ‘.m_cAttrList’ must have class/struct/union type
对工程有较大改动的时候,要先做好备份。
不要在Domodel();语句之后对 ...
- 2007-06-07 15:02
- 浏览 617
- 评论(0)
使用一个模态对话框CADlg作为另外一个非模态对话框CBDlg的父窗口时,如果在CBDlg中使用MessageBox等模态对话框CCDlg,那么CCDlg的默认父窗口是CBDlg,CCDlg在DoModle的时候,不影响用户对CADlg的操作。这个时候,如果用户关闭了CADlg,同时销毁CBDlg,那么CBDlg就会因为CCDlg正在DoModle无法及时销毁而造成错误。
要解决这个错误,可以把CCDlg的父窗口指定为主框架窗口,比如用AfxMessageBox来代替MessageBox : )
相关链接:1,2
AfxMessageBox, DoModle, 非模态对话框, messagebo ...
- 2007-06-06 07:25
- 浏览 652
- 评论(0)
使用一个模态对话框CADlg作为另外一个非模态对话框CBDlg的父窗口时,如果在CBDlg中使用MessageBox等模态对话框CCDlg,那么CCDlg的默认父窗口是CBDlg,CCDlg在DoModle的时候,不影响用户对CADlg的操作。这个时候,如果用户关闭了CADlg,同时销毁CBDlg,那么CBDlg就会因为CCDlg正在DoModle无法及时销毁而造成错误。
要解决这个错误,可以把CCDlg的父窗口指定为主框架窗口,比如用AfxMessageBox来代替MessageBox : )
相关链接:1,2
AfxMessageBox, DoModle, 非模态对话框, messagebo ...
- 2007-06-06 07:25
- 浏览 730
- 评论(0)
使用一个模态对话框CADlg作为另外一个非模态对话框CBDlg的父窗口时,如果在CBDlg中使用MessageBox等模态对话框CCDlg,那么CCDlg的默认父窗口是CBDlg,CCDlg在DoModle的时候,不影响用户对CADlg的操作。这个时候,如果用户关闭了CADlg,同时销毁CBDlg,那么CBDlg就会因为CCDlg正在DoModle无法及时销毁而造成错误。
要解决这个错误,可以把CCDlg的父窗口指定为主框架窗口,比如用AfxMessageBox来代替MessageBox : )
相关链接:1,2
AfxMessageBox, DoModle, 非模态对话框, messagebo ...
- 2007-06-06 07:25
- 浏览 450
- 评论(0)
并不是任何对话框都有IDOK按钮和IDCANCEL按钮,但是为了响应OnOK和OnCancel函数,可以先加上按钮,双击按钮添加响应函数,然后再删掉按钮。这两个按钮分别响应对话框的Enter键和Esc键。
在MFC中,Enter键的虚拟键值用宏VK_RETURN来表示,而不是VK_ENTER。
相关链接:编程小语
Enter, OnOK
- 2007-06-05 07:24
- 浏览 636
- 评论(0)
并不是任何对话框都有IDOK按钮和IDCANCEL按钮,但是为了响应OnOK和OnCancel函数,可以先加上按钮,双击按钮添加响应函数,然后再删掉按钮。这两个按钮分别响应对话框的Enter键和Esc键。
在MFC中,Enter键的虚拟键值用宏VK_RETURN来表示,而不是VK_ENTER。
相关链接:编程小语
Enter, OnOK
- 2007-06-05 07:24
- 浏览 726
- 评论(0)
并不是任何对话框都有IDOK按钮和IDCANCEL按钮,但是为了响应OnOK和OnCancel函数,可以先加上按钮,双击按钮添加响应函数,然后再删掉按钮。这两个按钮分别响应对话框的Enter键和Esc键。
在MFC中,Enter键的虚拟键值用宏VK_RETURN来表示,而不是VK_ENTER。
相关链接:编程小语
Enter, OnOK
- 2007-06-05 07:24
- 浏览 608
- 评论(0)
在VC之外手动给某个工程增加的类(包括 .h 和 .cpp ),默认是没有被包含到工程中去的,这个时候,可以在需要的地方include该类头文件,然后在文件名上点右键“Open Document “….H” ”,VC会打开该头文件,选择编译,即可自动将该 .h 文件加入到工程中,省去手动加入工程时的麻烦。CPP文件可以同样这样处理。
cpp, open document, vc
- 2007-06-04 15:05
- 浏览 700
- 评论(0)
在VC之外手动给某个工程增加的类(包括 .h 和 .cpp ),默认是没有被包含到工程中去的,这个时候,可以在需要的地方include该类头文件,然后在文件名上点右键“Open Document “….H” ”,VC会打开该头文件,选择编译,即可自动将该 .h 文件加入到工程中,省去手动加入工程时的麻烦。CPP文件可以同样这样处理。
cpp, open document, vc
- 2007-06-04 15:05
- 浏览 560
- 评论(0)
在VC之外手动给某个工程增加的类(包括 .h 和 .cpp ),默认是没有被包含到工程中去的,这个时候,可以在需要的地方include该类头文件,然后在文件名上点右键“Open Document “….H” ”,VC会打开该头文件,选择编译,即可自动将该 .h 文件加入到工程中,省去手动加入工程时的麻烦。CPP文件可以同样这样处理。
cpp, open document, vc
- 2007-06-04 15:05
- 浏览 603
- 评论(0)
我躺在下铺,
规规矩矩的,
已经夜里10点半,
车厢摇摇晃晃。
好像回到几十年前,
躺在爷爷的床上,
两眼睁得大大的,
望着天花板。
又仿佛几十年后,
我躺在棺木上,
看旁人将我抬到火葬场,
我静静地听他们谈论棺木的好坏。
所有人好像都在哭泣,
除了我的老伴儿,
因为她知道,
我只是买了一张卧铺票。
Sleeper, 卧铺
- 2007-06-02 07:56
- 浏览 648
- 评论(0)
我躺在下铺,
规规矩矩的,
已经夜里10点半,
车厢摇摇晃晃。
好像回到几十年前,
躺在爷爷的床上,
两眼睁得大大的,
望着天花板。
又仿佛几十年后,
我躺在棺木上,
看旁人将我抬到火葬场,
我静静地听他们谈论棺木的好坏。
所有人好像都在哭泣,
除了我的老伴儿,
因为她知道,
我只是买了一张卧铺票。
Sleeper, 卧铺
- 2007-06-02 07:56
- 浏览 647
- 评论(0)
我躺在下铺,
规规矩矩的,
已经夜里10点半,
车厢摇摇晃晃。
好像回到几十年前,
躺在爷爷的床上,
两眼睁得大大的,
望着天花板。
又仿佛几十年后,
我躺在棺木上,
看旁人将我抬到火葬场,
我静静地听他们谈论棺木的好坏。
所有人好像都在哭泣,
除了我的老伴儿,
因为她知道,
我只是买了一张卧铺票。
Sleeper, 卧铺
- 2007-06-02 07:56
- 浏览 690
- 评论(0)