怎样从从cwnd指针获取其id

sungoco2 2008-07-02 05:44:06
我有一cmydialog *pDlg;
现有一函数
function(CWnd* pDlg)
{
int nID = GetDlgCtrlID(pDlg->GetSafeHwnd());
nID = GetWindowLong(pDlg->GetSafeHwnd(), GWL_ID);
}

结果运行function(pDlg);后获得的id全是0,怎么才能获取这个id??

注:pDlg确实是child类型,而且不能使用cmydialog::idd的方法获取。


...全文
572 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
sungoco2 2008-07-10
  • 打赏
  • 举报
回复
确实是0,但是它确实是有id的
cnzdgs 2008-07-05
  • 打赏
  • 举报
回复
int nID = pDlg->GetDlgCtrlID();

pDlg->GetSafeHwnd()是不是返回0了?
sungoco2 2008-07-04
  • 打赏
  • 举报
回复
nID 啊 ,我说的 就是这个值
wqvbjhc 2008-07-03
  • 打赏
  • 举报
回复
你的函数写得不全.你获得ID后有没有把所获得的ID当作返回值
sungoco2 2008-07-03
  • 打赏
  • 举报
回复
help!!
sungoco2 2008-07-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 miaoshengwu 的回复:]
窗口ID,句柄,指针三者相互转换函数
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);…
[/Quote]
不要光看题目啊~~~~~~~~~~~~
sungoco2 2008-07-02
  • 打赏
  • 举报
回复
pDlg是有值的
miaoshengwu 2008-07-02
  • 打赏
  • 举报
回复
窗口ID,句柄,指针三者相互转换函数
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;
chenjiq 2008-07-02
  • 打赏
  • 举报
回复
pDlg 赋值了没?

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧