CDC* pDC = m_dbgrd.GetDC(); int nLogX = pDC->GetDeviceCaps(LOGPIXELSX);

int nLogY = pDC->GetDeviceCaps(LOGPIXELSY); CWnd * pwnd=GetThisCellMaskControl();
if (pwnd!=NULL && pwnd->IsKindOf (RUNTIME_CLASS(CComboBox)))
{
cols=m_dbgrd.GetColumns ();
col=cols.GetItem(_variant_t(short(m_dbgrd.GetCol ())));
// rc.left = col.GetLeft()*nLogX/1440;
// rc.top = m_dbgrd.RowTop (m_dbgrd.GetRow())*nLogY/1440;
// rc.right = rc.left+col.GetWidth()*nLogY/1440;
// rc.bottom = rc.top + m_dbgrd.GetRowHeight ()*nLogY/1440;
// m_dbgrd.ClientToScreen (&rc);
rc.left = col.GetLeft();
rc.top = m_dbgrd.RowTop (m_dbgrd.GetRow());
rc.right = rc.left+col.GetWidth();
rc.bottom = rc.top + m_dbgrd.GetRowHeight ();
pwnd->MoveWindow (&rc);
pwnd->ShowWindow (SW_SHOW);
((CComboBox*)(pwnd))->ShowDropDown (TRUE);
pwnd->SetFocus ();
m_dbgrd.RedrawWindow ();
画出的组合框老位置和大小都不对阿,注释部分我也试过,也不对