void CSTEC_610R_DEMOView::RecordRectByID(const int& nID)
{
CRect rc;
CWnd *pWnd=this->GetDlgItem(nID);
pWnd->GetClientRect(&rc);
pWnd->ClientToScreen(&rc);
/*
HWND hWnd=::GetDlgItem(this->GetSafeHwnd(),nID);
::GetWindowRect(hWnd,&rc );
*/
this->ScreenToClient(&rc);
char buff[256];
sprintf(buff,"echo %d,%d,%d,%d >> d:\\pcs610LeftRect.txt",rc.left,rc.top,rc.right,rc.bottom);
system(buff);
}
CWnd::GetDlgItem(int nID)
这个是一个类成员函数,可使用CWnd* pWnd = GetDlgItem(ID_XXX);
而HWND GetDlgItem(
HWND hDlg, // handle of dialog box
int nIDDlgItem // identifier of control
);
是一个sdk的函数
两个的主要区别是用的地方不一样
一个参数的是在窗口中调用的函数,两个参数的是在平台SDK中调用的
你在对话框类里面调用GetDlgItem(IDC_BOARD_SIZE),就是调用的类成员函数CWnd::GetDlgItem
获得某个控件的句柄GetDlgItem(IDC_BOARD_SIZE)->m_hWnd就可以了
如果要用到第二种用法,要这样
::GetDlgItem(this-> m_hWnd,IDC_BOARD_SIZE);
效果一样的
那个IDC_BOARD_SIZE是你某个控件的id,
如果HWND GetDlgItem(
HWND hDlg, // handle of dialog box
int nIDDlgItem // identifier of control
);的话,
第一个参数是窗体的句柄,第二个参数是某个控件的ID,和IDC_BOARD_SIZE是一个意思
- 上一篇:创建选择目录对话框
- 下一篇:关于模式与非模式对话框
今天的文章有关GetDlgItem分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/9975.html