GetEditCtrl是怎样得到CEdit的? _AFXEXT_INLINE CEdit& CEditView::GetEditCtrl() const { return *(CEdit*)this; }一个CEditView类如何像上面那样转成CEdit?请教! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CEditView的继承关系如下:CEditView<-CtrlView<-CView<-CWndCEditCtrl直接继承于CWnd,而相对于CWnd它没有定义任何新的虚函数和数据成员,所以它的虚函数表与CWnd是一样的,这就使得转换后CEditCtrl不会调用不存在的虚函数。另外对于CEditCtrl来说,他所有的操作都是围绕着成员变量m_hWnd进行的,而这个变量直接继承于CWnd,因此上面的那个转换实际只是将CEditView的CWnd部分传给了CEditCtrl。 应该是CEditView提供了操作符重载,比如 operator CEdit*() 不是这样的,你可以看MSDN上的这篇文章:http://msdn.microsoft.com/msdnmag/issues/01/11/c/ 那CEdit的构造函数是什么时候被调用的? C/S架构,send()返回-1及select()的使用? UTF-8 转换为汉字 这个是不是又一位倒分的? 求 LPSTR_TEXTCALLBACK 宏的源代码 在对一个组合框操作中的问题?? 100分求教,如何获得ie浏览器的view视图的滚动条句柄及当前位置,谢谢! 游戏编程是用哪些语言的? 静态链接的属性是A,动态链接的属性是什么呢? yyyyyyyy “LPSHELLFOLDER”这是什么东西呀,MSDN怎么查不到。 Rs232 与Rs485 通讯 编程上有什么不同吗? 奇怪的error C2143错误
CEditView<-CtrlView<-CView<-CWndCEditCtrl直接继承于CWnd,而相对于CWnd它没有定义任何新的虚函数和数据成员,所以它的虚函数表与CWnd是一样的,这就使得转换后CEditCtrl不会调用不存在的虚函数。另外对于CEditCtrl来说,他所有的操作都是围绕着成员变量m_hWnd进行的,而这个变量直接继承于CWnd,因此上面的那个转换实际只是将CEditView的CWnd部分传给了CEditCtrl。