通过全局句柄(extern HWND)访问其他类
来源:互联网 发布:淘宝钻石店铺购买 编辑:程序博客网 时间:2024/06/05 11:09
一般我们是通过定义一个类的对象来访问类的成员变量及函数的。这比较简单,比如:
CPage1 m_page1;
然后就可以通过m_page1访问CPage1类中的定义的函数 比如:m_page1.Add(2,3);
但是如果需要再CPage1类中访问主窗口类中的函数该怎么办?
我们可以通过句柄来访问。
1.首先在Test.h(主程序头文件) 或StdAfx.h中定义也行
extern HWND g_hWnd;
2.在TestDlg.cpp中确保Test.h头文件被引用,并定义
HWND g_hWnd;
3.在CTestDlg::OnInitDialog()中
g_hWnd=m_hWnd;
好了 在任何地方如CPage1中引用如:
((CTestDlg*)FromHandle(g_hWnd))->m_page1.ShowWindow(SW_HIDE);
当然因为g_hWnd也是程序主窗口的句柄 所以g_hWnd也可以写成AfxGetMainWnd()->m_hWnd
这种方法在相同类中中比较常见。比如定义了CPage1、CPage2、CPage3等等类。他们相互之间引用通过句柄是一种比较方便的办法。
- 通过全局句柄(extern HWND)访问其他类
- CWnd类指针和HWnd句柄
- 通过api获取句柄控制其他窗体
- 通过api获取句柄控制其他窗体
- 通过api获取句柄控制其他窗体
- 通过api获取句柄控制其他窗体
- 如何访问其他进程的 socket 句柄?
- HWND句柄与CWnd窗体类的区别与转换
- win32 API窗口句柄 HWND
- 窗口句柄HWND和实例句柄HINSTANCE
- 通过api获取句柄控制其他窗体(转)
- 通过api获取句柄控制其他窗体(转)
- 通过其他程序的Internet Explorer_Server句柄打开网页
- 保存和使用其他类的句柄
- 句柄Hwnd 与 窗口Wnd的联系
- 窗口截图(可指定HWND窗口句柄)
- 十:[zz]MFC - hWnd & hDC,句柄,CWnd
- 窗口截图(可指定HWND窗口句柄)
- freenas 用户权限管理
- 关于preg_replace函数的问题讲解
- informix和oracle中对于NULL约束设置的比较
- MSSQL数据导出文本
- Fedora 10 上如何让root登陆系统
- 通过全局句柄(extern HWND)访问其他类
- 面试:收获的是失败!!!
- 在Tomcat中部署Java Web应用程序 静态部署
- rdlc报表设置方法
- 自己简单构建消息管理机制
- 动态批量修改字段属性
- php5 特性漏洞
- 点点滴滴1
- php+mysql+IIS 安装指南