GXLRESULT CMOPropertySheetReceiver::InvokeNotify( GXNMHDR* pnmhdr ) { //CGXPropertySheetReceiver* pPropReceiver = TryCastReceiver(pReceiver, m_pReceiver); //if(pPropReceiver == 0) { // return -1; //} if( ! gxIsWindow(pnmhdr->hwndFrom)) { return -1; } CMOPropertySheet PropWnd(pnmhdr->hwndFrom); NM_PROPSHEETW* pItemDesc = (NM_PROPSHEETW*)pnmhdr; if(pnmhdr->code == GXNM_CLICK || pnmhdr->code == GXNM_HOVER) { OnValueChanging(&PropWnd, pItemDesc->strName, pItemDesc); } else if(pnmhdr->code == GXNM_RETURN) { OnValueChanging(&PropWnd, pItemDesc->strName, pItemDesc); } else { CLBREAK; // 增加对应处理 } return 0; }
void CXTPReportRecordItemVariant::OnEditChanged(XTP_REPORTRECORDITEM_ARGS* pItemArgs, LPCTSTR szText) { COleVariant var(szText); if (OnValueChanging(pItemArgs, &var)) { TRY { CXTPReportControlLocale::VariantChangeTypeEx(var, m_oleValue.vt == VT_NULL ? (VARTYPE)VT_BSTR : m_oleValue.vt); } CATCH_ALL(e) { return; } END_CATCH_ALL m_oleValue = var; }