社区
界面
帖子详情
知道Dialog窗口句柄,如何获得该Dialog对应的资源ID?
无聊客
2006-06-28 05:01:11
有没有办法?谢谢先!
...全文
517
10
打赏
收藏
知道Dialog窗口句柄,如何获得该Dialog对应的资源ID?
有没有办法?谢谢先!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
iamwjp
2006-06-29
打赏
举报
回复
http://blogs.msdn.com/oldnewthing/archive/2005/07/08/436815.aspx
gdsdyl
2006-06-29
打赏
举报
回复
CDialog::m_lpszTemplateName, 同意
会思考的草
2006-06-28
打赏
举报
回复
请看CDialog的构造函数:
CDialog::CDialog(UINT nIDTemplate, CWnd* pParentWnd)
{
AFX_ZERO_INIT_OBJECT(CWnd);
m_pParentWnd = pParentWnd;
m_lpszTemplateName = MAKEINTRESOURCE(nIDTemplate);//ID=>TemplateName
m_nIDHelp = nIDTemplate;
}
会思考的草
2006-06-28
打赏
举报
回复
CDialog::m_lpszTemplateName,从这个资源模板名称可以得到其ID。
xazl
2006-06-28
打赏
举报
回复
同意楼上的
int idx = (UINT)(UINT_PTR) this->m_lpszTemplateName;
CString str;
str.Format("%d",idx);
gao_ming77
2006-06-28
打赏
举报
回复
顺便说一下,popup风格的dialog通过GetWindowLong或者GetDlgCtrlID得到的ID都是0。
gao_ming77
2006-06-28
打赏
举报
回复
ID就保存在CDialog::m_lpszTemplateName中,可能是字符串或者资源ID。
如果是资源ID,转换通过(UINT)(UINT_PTR)m_lpszTemplateName即可。
但关键是这个变量是protected类型的,没法直接访问,即便你通过FromHandle得到CDialog的指针。可能你需要通过消息什么了,呵呵。
iamwjp
2006-06-28
打赏
举报
回复
好像不行啊,只有具有child的风格的才行
lixiaosan
2006-06-28
打赏
举报
回复
CWnd *pWnd = FromHandle(hwnd);
pWnd->GetDlgCtrlID
iamwjp
2006-06-28
打赏
举报
回复
GetWindowLong(HWND, GWL_ID);
C 对话框
Dialog
Box
NULL 博文链接:https://hudeyong926.iteye.com/blog/1544287
Modeless-
dialog
.rar_vc modeless
dialog
_visual c
vc源码,非模态对话框的使用,代码简洁明了
MFC
获得
指针对象
mfc,欢迎大家下载你是我天边最美的云彩,让我用心把你留下来
对话框设置背景图片
MFC替换背景图片
MFC多线程编程实例三个
本程序使用TAB控件生成了3个
Dialog
,每个
dialog
上都有一个简单的MFC多线程实例,简单易懂,且有注释,是MFC多线程学习的好帮手,多线程传参数:传递
窗口
句柄
等等
界面
15,980
社区成员
115,867
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章