收录日期:2019/10/18 22:32:22 时间: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,还有一些成员函数,消息处理函数等。

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

求助,如何给子报表设置参数? 网上很流行的调用谷歌地图的例子S.Sams.GoogleMap,是ASP.NET Web Application,其中bin文件夹里的dll不是很明白 FTP下载的问题 c#编写的托管的程序生成的dll,是不是确实不用在系统注册表注册呀? JavaScript images 集合显示一个幻灯片 怎样学习arm9,请各位大侠指导一下??? Silverlight中子窗体关闭刷新父窗体 本人编程菜鸟,用ASP.NET调试程序总是出错,跪求解决方案。。。 超难的sql查询问题,跪求高手指教 toad中如何取得或显示存储过程的out参数 读数据赋值的问题,还是没懂,麻烦各位给解答一下,谢谢了!!! 关于c#桌面应用软件开发前景 问一个问题啊 求助,gcc下编译下面代码出现 段错误 求一正则表达式 tomcat运行问题 mygeneration 获取postgresql 数据表 自增段信息 Createinstance of Connection fail 小型图书馆 问题 mysql 查询转义字符 bada gps sensor 没有identity列,有uniqueidentifier列,如何获取与当前插入行的数据??? 一个数字以2进制形式存储在2个字节里,怎么把他一个字节一个字节提取出来 写了个WinForm程序在自己机器上运行很好,换了个机器就不行了,求指教! 能否写一个函数,返回另一个进程主窗口的句柄? 求:关于字节数组的区别 vc++ 如何让treeview 在窗体启动时,就选中第三项呢? 一个关于匿名内部类的问题 数据库变化时如何刷新Spinner