本文共 1032 字,大约阅读时间需要 3 分钟。
////Resource.h#define IDD_MY_DLG 12312314123//class CMyDlg : public CDialog{ DECLARE_DYNAMIC(CMyDlg)public: CMyDlg(CWnd* pParent = NULL); virtual ~CMyDlg(); enum { IDD = IDD_MY_DLG };protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 DECLARE_MESSAGE_MAP()public: //virtual CMFCPropertyGridCtrl m_DataGrid; afx_msg LRESULT OnPropertyChanged(WPARAM,LPARAM);};BEGIN_MESSAGE_MAP(CMyDlg, CDialog) ON_REGISTERED_MESSAGE( AFX_WM_PROPERTY_CHANGED, OnPropertyChanged )END_MESSAGE_MAP()//消息处理, lParam是Property属性项, wParam是ctrl的idLRESULT CMyDlg::OnPropertyChanged( WPARAM wParam,LPARAM lParam){ CMFCPropertyGridProperty* pProp = (CMFCPropertyGridProperty*) lParam; //is the property ctrl if ( (long)wParam == 2 ) { } pProp->SetValue((_variant_t)false); pProp->Redraw(); int pID = pProp->GetData(); CString str = pProp->GetName(); if ( str == _T("abc") ) { COleVariant var = pProp->GetValue(); if ( var.boolVal == VARIANT_TRUE ) { // AfxMessageBox(L"failed!"); //pProp->SetValue(VARIANT_FALSE); } } return 0;}
转载地址:http://qljub.baihongyu.com/