4-2 MFC学习之核心类库(CWnd)
2016-01-17 14:33
211 查看
随着学习的深入将会不断补充
先以实例入手
将句柄转为指针
不要保存指针,只能当临时指针使用,因为可能会被清除
先以实例入手
#include "ChatDlg.h" class CTestDlg2Dlg : public CDialogEx { ChatDlg m_cdlg; enum{IDC_NAME = 1008, IDC_NAME2, IDC_BUTTON11}; CWnd m_wnd, m_wnd2, m_wndButton;
void CTestDlg2Dlg::OnBnClickedButton2() { if(!m_wnd.m_hWnd) { m_wnd.CreateEx(WS_EX_CLIENTEDGE, _T("Edit"), _T(""), WS_CHILD|WS_VISIBLE, CRect(10,80,110,100), this, IDC_NAME); } if(!m_wnd2.m_hWnd) { m_wnd2.Create(_T("Edit"), _T(""), WS_CHILD|WS_VISIBLE, CRect(10,110,110,130), this, IDC_NAME2); } } void CTestDlg2Dlg::OnBnClickedButton3() { if(!m_wndButton.m_hWnd) { m_wndButton.Create(_T("BUTTON"), _T("Button测试"), WS_CHILD|WS_VISIBLE, CRect(10, 140, 110, 160), this, IDC_BUTTON11); } }
将句柄转为指针
不要保存指针,只能当临时指针使用,因为可能会被清除
void CTestDlg2Dlg::OnBnClickedButton3() { if(!m_wndButton.m_hWnd) { m_wndButton.Create(_T("BUTTON"), _T("Button测试"), WS_CHILD|WS_VISIBLE, CRect(10, 140, 110, 160), this, IDC_BUTTON11); } HWND hWnd = ::GetDlgItem(m_hWnd, IDC_BUTTON11); CWnd* p = CWnd::FromHandle(hWnd); //CButton* pbtn = (CButton*)GetDlgItem(IDC_BUTTON11); CButton* pbtn = (CButton*)p; pbtn->SetWindowTextW(_T("change")); }
相关文章推荐
- 1、初识Reactjs——HelloWorld程序
- 基于java实现,封装验证码实例
- e_msg_c_as_login_req 和 e_msg_c_as_login_if_no_register_req
- CentOS 6.x 快速安装L2TP ***
- UNDERSTANDING CONVOLUTIONAL NEURAL NETWORKS FOR NLP
- spring (二) 构造器注入和工厂模式注入
- 检测局域网内主机存活脚本
- Linux RCU锁简析
- spring (一) 不同版本加载 bean 的方式
- Ubuntu 14.04 调试Tiny 6410,环境搭建: arm-linux-gcc+arm-linux-gdb server+Ecilpse IDE
- node.js+express制作网页计算器
- 保存Eclipse控制台输出的内容
- OPPO通过AWS节约大量成本提供海外服务
- css-让div永远在最底部
- angularjs controller的两种写法
- 设置linux的IP
- 【VMware】重命名vmdk文件
- Struts2 (四) 声明式验证(注解/xml)
- UI 测试
- 2016数据库考试题