今天在一片老外的文章上看到如下一段话:
Note that you should almost never use UpdateData in a dialog. If you use it, you should use it only in a modeless dialog. There is, as far as I can tell, absolutely no excuse for using UpdateData in a modal dialog. A simple rule: If you're calling UpdateData in a modal dialog, you're not using MFC correctly.
(注意,你在对话框中应该尽量不要使用UpdateData函数。如果你要使用它,也最多在非模式对话框中使用,而绝对不要在模式对话框中使用。一个简单原则:如果在一个模式对话框中调用UpdateData,那你就没有正确使用MFC。)那位仁兄能告诉我为什么。
Note that you should almost never use UpdateData in a dialog. If you use it, you should use it only in a modeless dialog. There is, as far as I can tell, absolutely no excuse for using UpdateData in a modal dialog. A simple rule: If you're calling UpdateData in a modal dialog, you're not using MFC correctly.
(注意,你在对话框中应该尽量不要使用UpdateData函数。如果你要使用它,也最多在非模式对话框中使用,而绝对不要在模式对话框中使用。一个简单原则:如果在一个模式对话框中调用UpdateData,那你就没有正确使用MFC。)那位仁兄能告诉我为什么。
解决方案 »
- 对话框添加滚动条的问题
- VC连接SQL Server数据库
- 有关ostream_iterator,劳烦大牛了呵
- 画线和擦除问题
- 如何消除警告 warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
- 屏蔽掉单文档自动生成系统菜单
- MFC中怎么实现在ReBar中Dlgbar的停靠和浮动(50分请教)
- 有谁能讲一下有关wave的api吗,谢谢了
- 繼承一個你自己的對話框,結果會如何?
- 请问VC能不能调用用其他编译器生成的DLL中的类??
- 有关Corba的编译环境,希望各位高手不吝赐教!谢谢!
- 弹出一个动画对话框,up有分
无怪乎,我的程序中模式对话框中的消息老是传不出去!!!
1. 不使用UpdateData就没有使用ms的很有用的dde
2. 该文中列举的问题都可以用其他简单的方法解决。
因为我实在是用过,好像也是在非模式下面用的,好像是一个打印的Dlg
这个Dlg是经过改写的系统的PrintDlg,呵呵!
但我确实不大用UpdateData(其实已经我从一开始就不用它),因为我不喜欢通过ClassWizard添加那么多变量,我喜欢直接调用函数,读取或设置界面信息,如GetDlgItemText()/SetDlgItemText()。