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是一个意思
- 上一篇:创建选择目录对话框
- 下一篇:关于模式与非模式对话框