CWnd与HWND的区别与转换
2016-01-26 20:09
239 查看
一、区别
HWND是句柄,CWnd是MFC窗体类,CWnd中包含HWND句柄成员对象是m_hWnd.
HWND是Windows系统中对所有窗口的一种标识,即窗口句柄。这是一个SDK概念。
CWnd是MFC类库中所有窗口类的基类。微软在MFC中将所有窗口的通用操作都封装到了这个类中,如:ShowWindow等等,同时它也封装了窗口句柄即m_hWnd成员。
二、如何得到窗口对象指针CWnd * pCWnd
1,在窗体里,直接用 this->,//this就是本窗体的窗口对象指针
2,主窗体的类对象指针:AfxGetApp()->m_pMainWnd->, //AfxGetApp()->m_pMainWnd就是主窗体的窗口对象指针
3,pCWnd=GetDlgItem(ID_EDIT_NAME);//GetDlgItem 函数可以得到某个控件的窗口对象指针
三、如何得到窗口句柄 HWND Handle
1,Handle=this->m_hWnd
2,GetDlgItem(ID_EDIT_NAME);
3,Handle=::GetDlgItem(this,IDC_STATIC_MODE); //得到本窗体内某个控件的句柄
四、转换
CWnd * pCWnd;
HWND Handle;
pCWnd=FromHandle(Handle);
Handle=GetSafeHwnd(pCWnd);
HWND是句柄,CWnd是MFC窗体类,CWnd中包含HWND句柄成员对象是m_hWnd.
HWND是Windows系统中对所有窗口的一种标识,即窗口句柄。这是一个SDK概念。
CWnd是MFC类库中所有窗口类的基类。微软在MFC中将所有窗口的通用操作都封装到了这个类中,如:ShowWindow等等,同时它也封装了窗口句柄即m_hWnd成员。
二、如何得到窗口对象指针CWnd * pCWnd
1,在窗体里,直接用 this->,//this就是本窗体的窗口对象指针
2,主窗体的类对象指针:AfxGetApp()->m_pMainWnd->, //AfxGetApp()->m_pMainWnd就是主窗体的窗口对象指针
3,pCWnd=GetDlgItem(ID_EDIT_NAME);//GetDlgItem 函数可以得到某个控件的窗口对象指针
三、如何得到窗口句柄 HWND Handle
1,Handle=this->m_hWnd
2,GetDlgItem(ID_EDIT_NAME);
3,Handle=::GetDlgItem(this,IDC_STATIC_MODE); //得到本窗体内某个控件的句柄
四、转换
CWnd * pCWnd;
HWND Handle;
pCWnd=FromHandle(Handle);
Handle=GetSafeHwnd(pCWnd);
相关文章推荐
- [算法]海量数据问题之一
- jsp链接mysql数据库
- 开源日志系统比较
- 07 八皇后问题
- 【React Native开发】React Native控件之TextInput组件讲解与QQ登录界面实现(11)
- C#Xml,json解析以及Socket传输问题
- 批量kill mysql线程和输出完整info mysql线程
- HDOJ 1025 Constructing Roads In JGShining's Kingdom (LIS nlogn)
- iOS崩溃堆栈符号化,定位问题分分钟搞定!
- 树莓派+DS18B20温度传感器+yeelink物联网云
- SwipeRefreshLayout配合RecyclerView实现下拉刷新和上拉加载更多以及没有数据的显示
- 设计模式之禅之设计模式-访问者模式
- 定向爬虫:动态加载网页的爬取
- hive安装完MySQL后报Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient错误
- WAPG2 iOS App名称本地化(info.plist本地化)
- 各种边线绘画
- MFC画图
- command-t插件使用说明
- C# 编译的DLL文件在其他项目中调用时,看不见注释
- 树莓派+DHT11温湿度传感器+yeelink物联网云