(1)MFC中的"."和“->”同C++中的"."和“->”没有任何区别,MFC本身就是用C++编写的类库。
c++中“.”是对类与结构体对象的成员提取符,“->”是对对类与结构体对象的指针的成员提取符
(2)没有任何必要,在CDialog 中可以随便使用Cwnd的成员函数,应为他本身就是一个Cwnd
在MFC继承图标中我们可以看到CDialog继承自Cwnd,那么所有Cwnd公开的函数CDialog当然可以使用了
(3)你所说的 模态/非模态对话框 是你自己写的吗?如果是,那么向主窗口中传递信息没有任何问题,你只要在对话框类中加一个主窗口的指针变量,在对话框构造函数中给它赋值,这样你就在对话框中有了主窗口的指针,在C++中所谓得指针者得天下,你就可以对主窗口进行操作了
(4)这个问题按照你的描述应不肯能出现,你可以把代码贴出来,这样大家可能会帮你解决
基础知识是很重要的
基础问题,最好看书,这么问的效率太低。
. 和->都是类成员操作符,不同在于->用于指针,.用于非指针。
CDialog是CWnd派生类,对谁操作,用谁的实例。
非模态传递随时可以传递消息,模态要在DoModal之后传递。
模态对话框只弹一次,一般是实例创建销毁问题或者对话框内内存回收问题。
如果对话框内没有自编代码,那么如下代码不会造成上述问题:(按钮响应函数中)
CXXXXDialog dlg;
dlg.DoModal();
给你举个例子 你一看就明白了
假如有个类
class mm
{
int n;
};
mm a;
访问n 就是 a.n;
mm *a;
访问n就是 a->n;
我印象中->是指针使用的,而.是对象使用的