博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ID--HANDLE--HWND三者之间的互相转换(转)
阅读量:6919 次
发布时间:2019-06-27

本文共 1104 字,大约阅读时间需要 3 分钟。

ID--HANDLE--HWND三者之间的互相转换

id->句柄、、、、、hWnd = ::GetDlgItem(hParentWnd,id);
id->指针、、、、、CWnd::GetDlgItem();
句柄->id、、、、、id = GetWindowLong(hWnd,GWL_ID);
句柄->指针、、、、CWnd *pWnd=CWnd::FromHandle(hWnd);
指针->ID、、、、、id = GetWindowLong(pWnd->GetSafeHwnd,GWL_ID);
指针->句柄、、、、hWnd=cWnd.GetSafeHandle() or mywnd->m_hWnd;

 

例程:

方法1:

BOOL AcameraCT::PreTranslateMessage(MSG* pMsg)

{
  int buID;
 buID= GetWindowLong(pMsg->hwnd,GWL_ID);//由窗口句柄获得ID号,GetWindowLong为获得窗口的ID号。
  if(pMsg->message==WM_LBUTTONDOWN) 
 {     
  if(buID==IDC_BUTTON_CT1) //按下
  {  
   //在这里添加单击按下事件的程序
  } 
 }
 if(pMsg->message==WM_LBUTTONUP) 
 { 
  if(buID==IDC_BUTTON_CT1)
  {  
   //在这里添加单击松开事件的程序
  } 
 }
 return CDialog::PreTranslateMessage(pMsg);
}

 

方法2:

BOOL AcameraCT::PreTranslateMessage(MSG* pMsg)

{
  int buID;
 CWnd* pWnd=WindowFromPoint(pMsg->pt); //获得指定点句柄
 buID=pWnd->GetDlgCtrlID();//获得该句柄的ID号。
  if(pMsg->message==WM_LBUTTONDOWN) 
 {     
  if(buID==IDC_BUTTON_CT1) //按下
  {  
   //在这里添加单击按下事件的程序
  } 
 }
 if(pMsg->message==WM_LBUTTONUP) 
 { 
  if(buID==IDC_BUTTON_CT1)
  {  
   //在这里添加单击松开事件的程序
  } 
 }
 return CDialog::PreTranslateMessage(pMsg);
}

转载于:https://www.cnblogs.com/longcheng2012/archive/2012/11/05/2754511.html

你可能感兴趣的文章
MySQL 数据库上线后根据 status 状态优化
查看>>
win10重建图标缓存bat
查看>>
我的友情链接
查看>>
线程中一种超时机制的实现
查看>>
linux grep命令 (学习备份)
查看>>
大数据时代邮件服务器如何满足发展所需
查看>>
vim支持+python和+python3切换
查看>>
基于heartbeatV2版本的ha-gui工具对httpd做高可用集群(2)
查看>>
globbing
查看>>
网络安全课程笔记 第0章
查看>>
Solaris 10 x86系统上添加新硬盘
查看>>
我的友情链接
查看>>
Web服务器测试和监控工具及组件介绍
查看>>
搭理AD域控服务器
查看>>
FTP HA windows cluster
查看>>
139.00.007 Git学习-Cheat Sheet
查看>>
js的基本数据类型有哪些?
查看>>
html 5 新增标签及简介
查看>>
c#多线程中Lock()关键字的用法小结
查看>>
征服恐惧!用 Vim 写 iOS App
查看>>