在新起的线程中根据传入窗口句柄关闭该非模态窗口

本文介绍如何使用CTipsDlg类创建一个非模态对话框,并将其窗口句柄传递给新启动的线程。此外,还展示了如何在线程函数中接收并使用这个句柄。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CTipsDlg是一个对话框资源对应的类,创建一个非模态对话框,并将该对话框的窗口句柄传入新起的线程中。


CTipsDlg *dlg = new CTipsDlg();
    dlg->Create(IDD_TIPS,NULL);

    CWnd *pWndStatus = dlg->GetDlgItem(IDC_STATIC_TIPS);
    //设置新的文字
    pWndStatus->SetWindowText(strTips);
    dlg->ShowWindow(SW_SHOW);
    dlg->UpdateWindow();


CWinThread *m_pThread = AfxBeginThread(CTipsDlg::ThreadFunc,(LPVOID)dlg->GetSafeHwnd());


在线程函数中获取传入的句柄参数方法如下:直接强转即可。

UINT CTipsDlg::ThreadFunc(LPVOID pParm)

{

......

    ::SendMessage(((HWND)pParm),WM_CLOSE,0,0);

.......

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值