收录日期:2019/12/08 09:00:55 时间:2016/06/06 10:24:36 标签:界面
假如对话框已经创建,能否从对话框的资源ID得到对应的对话框指针?
我在另一类中要向某个窗口发送消息,如何实现?
该回复被版主删除
你需要得到窗口的句柄, 才能发消息.

通过id 不能得到句柄
GetDlgItem(你的控件ID)    //得到对话框中控件的指针
CWnd* pWnd=Findwindow(0,"你的对话框标题栏名称")   //得到对话框的指针
指针到句柄
mywnd->GetSafeHwnd() or mywnd->m_hWnd; 区别是前一个会判断是否是有效句柄,无效返回NULL

句柄获得指针
CWnd::FromHandle(hwnd);

id->指针 CWnd::GetDlgItem();

句柄到id
id = GetWindowLong(hWnd,GWL_ID);

指针到ID的就
id = GetWindowLong(pWnd->GetSafeHwnd,GWL_ID);

id->句柄
hWnd = ::GetDlgItem(hParentWnd,id);

HWND FindWindow(
  LPCTSTR lpClassName,  // pointer to class name
  LPCTSTR lpWindowName  // pointer to window name
);


HWND 是一个窗口的句柄,你可以理解为一个极大的整数,可以唯一识别系统中的所有窗口。

CWnd *则是指向窗口对象的一个指针。一个窗口对象会有许多属性,包括其句柄hwnd,还有一些成员函数,消息处理函数等。

 
一个是句柄,用于标识,访问窗口对象
一个是指针  指向一个窗口对象
------------------------------------------------------------------------------
有点乱,凑合着看吧^_^

啥也不说了 在JAVA中如何实现把数据库的数据生成XML文件 怎样使tr 单元行的高度减少,我想使两行文字的间距少一些, 招聘(北京)招oracle高级dba,售前经理,大客户经理等 虚心改正OR欲盖弥彰?360进化全记录 一列如何拆分成多行,请各位帮忙看下! 准备搞搞兼职,有需要的朋友回帖~~ !! 求救!SuSE上网正常而windows上不了网的问题 请问:怎样在GridView中最简单有效的实现添加记录的功能? C#窗体控件制作成计算机的快捷方式,与计算机应用程序连接 关于网站的显示问题 北京游戏职位:开发,策划,项目经理,美工等职位,欢迎推荐 另一个基本的c语言问题 关于CreateRemoteThread的问题 关于加速计和陀螺仪的测试 一个简单的查询语句,行列问题!?? C#窗体控件制作成计算机的快捷方式,与计算机应用程序连接 eclipse 的jad插件是什么??哪里可以下载 vc 读取文件中int数据问题 要整个关于数据库的演讲,可惜肚子里墨水还不够湿笔的,望高手指点...... 连接数据库错误检测 ibatis 中使用 union 哪有好用的类似于论坛发帖的源文件? 如何查看存储过程,触发器,函数是否处于debug状态 结果为什么会是0? 请教一个问题 一老板出资开公司叫上我,负责技术.我该跟上去还是继续打工? wince下计算两个日期差! 从数据库读取数据,写入xml文件,空格消失,我该怎么办? 原来水源第一大美女是颦儿,现在才发现的。来迟了啊