MFC中窗口句柄和控件句柄的获取

1. 程序主窗口句柄的获得
    CWnd* p = AfxGetMainWnd();//函数AfxGetMainWnd()获得主对话框的指针p

    HWND h = p->m_hWnd; //主窗口类的成员变量m_hWnd即为主对话框句柄h
    例如:::SendMessage(AfxGetMainWnd()->m_hWnd, WM_MY_DOSOME, 0, (LPARAM)i);

2. 控件句柄的获得

    HWND EditHwnd = CWnd::GetDlgItem(h,IDC_EDIT1); //函数GetDlgItem()的第一个参数为对话框的句柄,第二个参数为对话框内某控件的ID,返回值为该控件的句柄

    HWND EditHwnd = GetDlgItem(IDC_EDIT1)->m_hWnd; //函数GetDlgItem()的参数为对话框内控件的ID,返回值为该控件的指针。例如: 

CString str(_T("dd"));

::SendMessage(AfxGetMainWnd()->GetDlgItem(IDC_COMBO3)->m_hWnd, WM_SETTEXT , 0 , (LPARAM)str.GetBuffer(0));

3. 在窗口类中

    this->m_hWnd 或者 HWND h = this->GetSafeHwnd()

4. 子窗口句柄 ::FindWindow(NULL,WindowsName)

    CWnd* pWnd = FindWindow(NULL,_T("清芝--支票机"));
    HWND hWnd = pWnd->m_hWnd;


    

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值