2017-11-15
来源:互联网 发布:ubuntu rm 删除文件夹 编辑:程序博客网 时间:2024/06/05 03:08
MFC探索
窗口句柄、指针之间的转换与获取
自定义类获取MFC对话框类对象
1.AfxGetApp()->m_pMainWnd->getDlgItem()
由于MFC中的自定义类会自动包含stdafx.h头文件,且stdafx.h包含afxwin.h,因此根据注释,在自定义类中可以直接使用
来获取主对话框的指针。之后可通过
来获得要访问的主对话框控件的指针,以对其进行访问。
2.全局变量
假设CMyDialog为对话框类
1.先在CMyDialog.cpp中声明一个全局变量CMyDialog* pDlg;
2在OnInitDialog()的时候,pDlg = this;
3.在别的类使用他的时候,在别的类的Cpp中添加extern CMyDialog* pDlg;
4.pDlg->yourfunction();
3.静态变量
子窗口获取父窗口句柄、指针
3.用GetParent()获取父窗口指针。
设你主对话框类为CMyDialog.
CMyDialog *pDlg = (CMyDialog *)GetParent()->GetParent();
pDlg->函数或变量;
第一个GetParent()获取的是tab control指针,再通过tab control获取主对话框指针。
各个窗口的句柄和指针的转换
获取主窗体句柄: CWnd *wnd = AfxGetMainWnd();
HWND hwnd = wnd->GetSafeHwnd();
HWND hWnd=::FindWindow(NULL,_T("Sphere")); //得到对话框的句柄
C***Dialog* pWnd= (C***Dialog*)C***Dialog::FromHandle(hWnd); //由句柄得到对话框的对象指针
从句柄到指针
CWnd* pWnd=CWnd::FromHandle(hWnd); //a temporary CWnd object is created //and attached.
pWnd->Attach(hWnd); //Attaches a Windows window to a CWnd object
从指针到句柄
HWND hWnd=pWnd->GetSafeHandle();
hWnd=pWnd->m_hWnd;
SDK编程中窗体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));
获取主窗口、主APP、视类窗口
获得对话框中控件指针
CWnd* pWnd = GetDlgItem(IDC_xxx);
- day01-2017-11-15
- sql 2017-11-15
- [log]2017-11-15
- 2017-11-15
- 工作日志2017-11-15
- 2017-11-15-笔记1-mongoDB
- 2017/11/15C语言作业
- 2017-11-15 shell脚本的基础知识
- 2017年11月15日作业
- sublime text3 注册码,亲测有效,截止2017/11/15
- 2017-11-15 深刻理解堆栈及PUSH POP指令
- 2017/11/15 javaEE在linux的环境配置
- 第1154期AI100_机器学习日报(2017-11-15)
- 2017年11月30日 15:20:35 小记
- 11-15
- 11-15
- 2017-11
- 2017/11/11
- 谈谈技术选型的注意事项
- 【量化小讲堂-Python&Pandas系列16】布林带策略在A股的实证
- hdu 1062(倒置句中单词)<未戳破的玄学>
- 优化MySQL
- python数据清洗流程和注意点
- 2017-11-15
- larebel 数据表迁移
- ON1 Photo RAW 2018官方版下载附安装教程
- deepmind_lab会 里面会用到lua这个开发工具 下面是简单的介绍
- javaweb项目运行时环境异常
- 连续存储数组的算法演示
- 欢迎使用CSDN-markdown编辑器
- android 打开各种文件(setDataAndType)
- 逻辑设计方法学【3】--门控时钟