Professional UI Solutions
Site Map   /  Register
 
 

Forum

Please Log In to post a new message or reply to an existing one. If you are not registered, please register.

NOTE: Some forums may be read-only if you are not currently subscribed to our technical support services.

Forums » Prof-UIS Tech Support » Grid and ComboBox redraw problem Collapse All
Subject Author Date
Eddie Judson Mar 16, 2006 - 12:28 AM

I have a Grid that contains two columns the first is a combobox with the following code in the OnClick override:
bool CBaseComboCell::OnClick(
        CExtGridWnd & wndGrid,
        const CExtGridHitTestInfo & htInfo,
        UINT nChar,
        UINT nRepCnt,
        UINT nFlags
        )
    {
        ASSERT_VALID( this );
        ASSERT_VALID( (&wndGrid) );
        ASSERT( ! htInfo.IsHoverEmpty() );
        ASSERT( htInfo.IsValidRect() );
        ASSERT( nChar == VK_LBUTTON || nChar == VK_RBUTTON || nChar == VK_MBUTTON );
        ASSERT( 0 <= nRepCnt && nRepCnt <= 3 );
        if( nChar == VK_LBUTTON && ( nRepCnt == 1 || nRepCnt == 2 ) )
        {
            if( (nFlags&(MK_SHIFT|MK_CONTROL)) == 0 )
            {
                CExtGridHitTestInfo htInfoTrack( htInfo );
                htInfoTrack.m_dwAreaFlags |= __EGBWA_CELL_BUTTON;
                htInfoTrack.m_nButtonType = (int)__EBTT_DROPDOWN;
                return
                    wndGrid.OnGridTrackCellButton(
                        this,
                        htInfoTrack
                        );
            }
        }
        return
            CExtGridCellComboBox::OnClick(
                wndGrid,
                htInfo,
                nChar,
                nRepCnt,
                nFlags
                );
    }

In the grid I have overridden the OnGridCellInputComplete method and am testing if the user has selected something from the first column combobox and if so automatically editing the second column with this->EditCell(1L,nRowNo);
My problem is that it goes into editing the second column ok but the combo is still in the dropped down state and does not redraw.

Thanks in advance,
Eddie

Technical Support Mar 16, 2006 - 8:45 AM

Please insert the following lines before you begin editing a cell:

 if( CExtPopupMenuWnd::IsMenuTracking() )
  CExtPopupMenuWnd::CancelMenuTracking();



Eddie Judson Mar 16, 2006 - 8:05 PM

Thanks worked a treat