有关GetDlgItem

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);
}

有关GetDlgItem

分类: C/C++   1644人阅读  评论(0)  收藏  举报

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是一个意思

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值