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 » OnGridCellButtonPressed event not firing Collapse All
Subject Author Date
Evgueni Kolossov Mar 29, 2011 - 4:24 AM

virtual bool OnGridCellButtonPressed(
		   const CExtGridCell & _cell,
		   INT nButtonType,
		   bool bMouseInsideButton, 
		   ULONG nPressedTimerCounter, 
		   const RECT & rcButton,
		   const RECT & rcCellExtra,
		   const RECT & rcCell,
		   LONG nColNo,
		   LONG nRowNo,
		   INT nColType,
		   INT nRowType)
			{
				CWnd * pWnd = GetParentOwner();
				GetParentOwner()->SendMessage(WM_ITEM_SELECTED, nColNo, nRowNo);
				return true;
			}

Event not fired on cell button click

Technical Support Jul 13, 2011 - 9:12 AM

First of all, you should know whether you need focus or selection changing event. Then you will override one of the following methods:
1) CExtGridBaseWnd::OnGbwFocusChanging() - invoked before focus changing, allows to prevent focus changing
2) CExtGridBaseWnd::OnGbwFocusChanged() - invoked after focus changed
3) CExtGridBaseWnd::OnGbwSelectionChanged() - invoked after selection changed

Evgueni Kolossov Jul 13, 2011 - 10:48 AM

Thank you very much - this is what I been looking for (and for so long...)

Evgueni Kolossov Jul 13, 2011 - 7:47 AM

Still cannot find the solution for event to catch the row/cell selection in the grid.


For all the years i am using ProfUIS I see that support is getting worse and worse...

Technical Support Apr 6, 2011 - 4:24 AM

Any grid cell class in Prof-UIS supports the following built-in cell parts (from left to right): icon, check/radio box, text, up-down button, drop-down button, ellipsis button. Any of built-in cell pars can be hidden. If you see anything else, then it’s implemented from scratch using custom painting. The OnGridCellButton*** methods are related to the up-down, drop-down and ellipsis cell buttons - not to the check/radio box.
You need the CExtGridCell::OnSetCheck() and/or CExtGridWnd::OnGridCellSetCheck() virtual methods.

Technical Support Mar 30, 2011 - 1:17 PM

We cannot confirm this. Please provide more details. Which cell class exactly are you using in your test?

Evgueni Kolossov Apr 5, 2011 - 10:50 AM

CExtGridCellCheckBox * pCellCheckBox =
			STATIC_DOWNCAST( CExtGridCellCheckBox, m_wndGrid.GridCellGet( 0, nRowNo, 0, 0, RUNTIME_CLASS(CExtGridCellCheckBox) ) );
		ASSERT_VALID( pCellCheckBox );
		pCellCheckBox->SetCheck(0);

Evgueni Kolossov Mar 29, 2011 - 5:04 AM

Found I can catch it through another event:


virtual bool OnGridTrackCellButton( CExtGridCell * pCell, const CExtGridHitTestInfo & htInfo)
This will fire on click but this is still no explanation why the OnGridCellButtonPressed is not firing