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 » CExtGridCellCheckBox cell icon problem in CExtReportGridWnd window with skin Collapse All
Subject Author Date
Thomas Hsieh Jan 17, 2008 - 1:57 AM

I created a cloumn with check box cell in report grid window.
However, the checked icon seems using the wrong png file in skin file.
It uses disabled png file to display the checked icon.
But the checkbox button control is work well in dialog.

After I copied the normal checked png file into "Button\CheckAndRadio\Check\Disabled" directory in skin file directory.
And it will show the enabled checked png file. There seems something wrong to display checkbox cell in skin.
Please help to check whether there exist such bug in prof-UIS.

Thanks a lot.

----
Followings are the code to create checkbox cell in report grid window:
CExtGridCellCheckBox* pCheckBoxCell = (CExtGridCellCheckBox*)ReportItemGetCell( pRGC, pRGI, RUNTIME_CLASS(CExtGridCellCheckBox) );
ASSERT_VALID( pCheckBoxCell );
pCheckBoxCell->SetCheck( BST_CHECKED );
pCheckBoxCell->ModifyStyle(__EGCS_NO_INPLACE_CONTROL|__EGCS_ICA_HORZ_CENTER|__EGCS_ICA_VERT_CENTER);

Technical Support Jan 21, 2008 - 2:42 AM

Thank you for reporting the bug. You can fix it in this way.

1) Open the CExtGridCell::OnPaintCheck() method and find the following code snippet:

CExtPaintManager::PAINTCHECKRADIOBUTTONDATA _pcrbd;
            _pcrbd.m_pHelperSrc = (CObject*)&wndGrid; 
            _pcrbd.m_rcClient = rcCell; 
            _pcrbd.m_rcBox = rcBox;
2) Replace it with this one:
CExtPaintManager::PAINTCHECKRADIOBUTTONDATA _pcrbd;
            _pcrbd.m_pHelperSrc = (CObject*)&wndGrid; 
            _pcrbd.m_rcClient = rcCell; 
            _pcrbd.m_rcBox = rcBox;
            _pcrbd.m_bEnabled = bEnabled;
            _pcrbd.m_bPushed = bPressed;
            _pcrbd.m_bHover = bHovered;
3) Recompile the library.