请问CMyDlg *pDlg=(CMyDlg*)pParam和CMyDlg Dlg的区别 CMyDlg Dlg要调用默认的构造函数,前面不用。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 后面那个是真正有这么一个东西 CMyDlg的对象存在。而前者只是一个指针,说是要指向一个CMyDlg的对象,可这个对象在哪儿?如果没有指定便使用,就会出错。一般是new一个CMyDlg,让这个指针指向它 CMyDlg *pDlg;是一个指针,用的时候要初始化,要不让它指向于一个已存在的对象,要就new一个新的对象,pDlg=new CMyDlg ;这样的话,不用的时候要记得删除它(delete pDlg),用的时候还要create()和showwindow()。CMyDlg Dlg;是一个实例对象,可以直接用它,但也要create()和showwindow()。只是不用删除它,程序退出的时候自己会删除它。 CMyDlg Dlgvoid* pVoid=&Dlg;CMyDlg *pDlg=(CMyDlg *)pVoid;则有pDlg->DoModal()==Dlg.DoMadal()一样的效果! 前者的用法一般用在Enum...这类枚举函数上,我估计你的代码也是从调用这种函数的示例中摘抄的。 已经很清楚了...seesi.top263.net 共同进步! 英文版vs11不能正确加载中文版vs2010/2008建立的项目 为什么获取的时间不正确? 急,把CSring转化为char *的问题 unicode下注册表的问题 请问谁知道《MFC Windows 程序设计(第2版)》哪下载? 如何使taskbar 上icon右擊快捷菜單自動消失﹖ DAO,ADO,ODBC各有何特点? 为什么一样的程序,动都没动过,开始编译不成功,后来又通过了??? 求教,再线等待,高分相送 谁能给我一个D3D的火熖的例程 关于进程的,高难度啊!!! 非c++高手莫看!!!!
而前者只是一个指针,说是要指向一个CMyDlg的对象,可这个对象在哪儿?如果没有指定便使用,就会出错。一般是new一个CMyDlg,让这个指针指向它
CMyDlg Dlg;是一个实例对象,可以直接用它,但也要create()和showwindow()。只是不用删除它,程序退出的时候自己会删除它。
void* pVoid=&Dlg;
CMyDlg *pDlg=(CMyDlg *)pVoid;
则有pDlg->DoModal()==Dlg.DoMadal()一样的效果!