美文网首页
MFC 获取对话框的指针

MFC 获取对话框的指针

作者: 彦子凡 | 来源:发表于2017-07-25 11:11 被阅读96次

对于MFC的对话框,要对其操作必须先获取到它的对象指针,下面是对对话框的对象指针的获取方式的解读
1.获取主窗口的对话框的对象指针

CWnd* pWnd = AfxGetApp()->GetMainWnd();

2.获取指定对话框的对象指针

CWnd* pWnd = FindWindow(NULL, _T("对话框的名称"));

3.ID , 指针, 句柄三者的转化

ID--HANDLE--HWND三者之间的互相转换 
id->句柄-----------hWnd = ::GetDlgItem(hParentWnd,id); 
id->指针-----------CWnd::GetDlgItem(); 
句柄->id-----------id = GetWindowLong(hWnd,GWL_ID); 
句柄->指针--------CWnd *pWnd=CWnd::FromHandle(hWnd); 
指针->ID----------id = GetWindowLong(pWnd->GetSafeHwnd,GWL_ID); 
GetDlgCtrlID(); 
指针->句柄--------hWnd=cWnd.GetSafeHandle() or mywnd->m_hWnd;
HICON->ID--------HICON hIcon = AfxGetApp()->LoadIcon(nIconID);
HICON hIcon = LoadIcon(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(nIconID));

附注:获得窗体句柄三种方法

1.HWND FindWindow(LPCTSTR lpClassName, LPCTSTR lpWindowName)
2. HWND FindWindowEx(HWND hwndParent, HWND hwndChildAfter,LPCTSTR lpClassName, LPCTSTR lpWindowName)
3.HWND WindowFromPoint(POINT& Point)//获得当前鼠标光标位置的窗体HWND

相关文章

  • MFC 获取对话框的指针

    对于MFC的对话框,要对其操作必须先获取到它的对象指针,下面是对对话框的对象指针的获取方式的解读1.获取主窗口的对...

  • 对话框

    MFC中添加新的对话框 MFC 点击按钮,弹出另一个对话框 MFC新建的对话框如何添加、重写初始化代码

  • 创建项目

    一、 新建MFC项目 选择:基于对话框 MFC的使用:在共享DLL中使用MFC (程序运行需要dll)在静态库中使...

  • MFC基于对话框使用dll进行多语言切换

    title: MFC基于对话框使用dll进行多语言切换 categories:[MFC] tags:[音视频编程]...

  • MFC登陆对话框-模态对话框

    基于MFC,用模态对话框创建一个登陆对话框 静态显示图片或对话框 在C*App::InitINstance()中创...

  • MFC创建对话框

    开发环境 VS2015, 目前VS2017存在bug,创建对话框会出现问题 操作步骤: 添加对话框资源视图一.p...

  • 04.AlertDiaLog实现对话框

    // 获取“显示带取消、确定按钮的对话框”按钮 显示带列表的对话框 获取“显示带单选列表项的对话框”按钮 获取“显...

  • VC++(七)对话框

    在MFC中,对资源的操作通常都是通过一个与资源相关的类来完成的。 模态对话框domodal 非模态对话框creat...

  • MFC类中获得其它类指针

    MFC类中获得其它类指针 当用VC++的Application Wizard生成除了CDialog Basiced...

  • mfc中对话框访问view类成员变量

    参考链接: mfc 中对话框访问view类成员变量 在dlg.h中 include "MainFrm"在dlg.c...

网友评论

      本文标题:MFC 获取对话框的指针

      本文链接:https://www.haomeiwen.com/subject/dwlwkxtx.html