本帖最后由 W81211984 于 2009-07-06 17:21:12 编辑

解决方案 »

  1.   

    根据单击的消息,获取对应的item,然后把ComboBox移动到对应的位置,这样用户就可以输入了..
      

  2.   

    在OnInitDialog()
    m_cmb.Create(WS_CHILD|CBS_DROPDOWN, CRect(0,0,0,0), &m_FlexGrid, IDC_CMB); // CComboBox m_cmb;
    m_cmb.AddString(_T("String1"));
    m_cmb.AddString(_T("String2"));在ClickMsflexgrid()
    // MSFlexGrid使用MM_TWIPS坐标系
    CDC* pDC = m_FlexGrid.GetDC();
    int nLogX = pDC->GetDeviceCaps(LOGPIXELSX);
    int nLogY = pDC->GetDeviceCaps(LOGPIXELSY);
    ReleaseDC(pDC);
    m_cmb.MoveWindow(
    (m_FlexGrid.get_CellLeft() * nLogX)/1440 - 3, 
    (m_FlexGrid.get_CellTop() * nLogY)/1440 - 3,
    (m_FlexGrid.get_CellWidth()* nLogX)/1440, 
    (m_FlexGrid.get_CellHeight()* nLogY)/1440, FALSE);