1、获得edit控件指针,句柄的方法
2、获得dialog对话框指针,句柄的方法
3、获得view视图指针,句柄的方法
4、获得CMainFrame框架指针,句柄的方法
5、获得CWnd窗口的指针,句柄的方法
解答一
获得edit控件的方法很多,这里我就给你列举几个很常用的,(CEDIT *)GetDlgItem(IDC_EDIT1)->成员函数,或者是你在向导类中添加一个Cedit的成员变量也是可以直接操作edit这个控件的,至于获得句柄你应该这样,CClientDC dc(这里填写窗口的指针)
解答二,获得对话框的指针,如果你的代码在这个对话框中的话,直接用个this就可以,this->成员函数;如果对话框已经打开,你可以这样操作,首先获得这个窗口的句柄用;findwindow这个api函数,获得句柄以后然后再用Cwnd类的成员函数FromHandle获得对话框的指针;或者你直接用cwnd类的静态函数FindWindow就可以直接获得对象的指针(详细用法看我给你的mfc类库详解)
解答三:如果你的代码在view这个类中时直接用this就可以,如果代码在其他的类中时,你应该借助于mfc提供给你的全局函数AfxGetMainWnd()函数获得框架的指针【即(这里是你要得到的框架类的指针,参见解答五)AfxGetMainWnd()】,然后再用这个框架,然后再用这个框架函数GetActiveView()函数获得视图的指针,既然获得指针了, 用FromHandle就可以直接获得句柄
解答四,如果代码是在本框架中,直接用this就可以,如果在其他的类中用全局函数AfxGetMainWnd()就可以得到这个指针,句柄获得用CWND基类的静态函数FromHandle就可以获得,【注:FromHandle这个函数是个静态的函数,至于什么是静态函数你可以看看基本的c++就可以了】
解答五:这里说明一下,Cwnd的是所有窗口的基类,包括按钮控件,编辑框控件,视图类控件,他也是应用程序的容器,或得方法是用全局函数AfxGetMainWnd()函数,这里你的注意,你也许会说这个函数不是获得框架类的指针吗,其实是这样的,它是这样的首先是获得整个容器的指针,然后再用强制类型转换就可以活的子类的指针,因为框架类也是继承于Cwnd这个类,这就是面向对象中的多态和继承的好处,至于句柄直接用FromHandle静态函数,其实你获得这个句柄直接是没有啥用处的,一般都是它的基类用的多,比如说按钮,等等,
备注:转载注明出处:(vc狗编程网 http://yaofande.s36.804.cn )
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述