码迷,mamicode.com
首页 > 编程语言 > 详细

CMFCPropertyGridCtrl的属性改变事件代码

时间:2015-04-28 17:57:54      阅读:643      评论:0      收藏:0      [点我收藏+]

标签:

//用于区分Prop, 使用SetData, GetData方法
CMFCPropertyGridProperty* pProp1 = new CMFCPropertyGridProperty(strTitle, (_variant_t)bVal, strDesc);
pProp1->SetData(100);
int nPropId = pProp1->GetData();
 
 

//声明消息处理函数

afx_msg LRESULT OnPropertyChanged( WPARAM wParam,LPARAM lParam );

 

//注册消息, AFX_WM_PROPERTY_CHANGED:发送ctrl消息到父窗口

BEGIN_MESSAGE_MAP(CMyWnd, CWnd)
 ON_WM_PAINT()
 ON_WM_CREATE()
 ON_REGISTERED_MESSAGE(AFX_WM_PROPERTY_CHANGED, OnPropertyChanged)
END_MESSAGE_MAP()

 

//消息处理, lParam是Property属性项, wParam是ctrl的id

LRESULT CMyWnd::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);
  }
 }

 if  (pID == 1)
 {
  
 }

 if  (pID > 1)
 {
  
 }
 return 0;
}

CMFCPropertyGridCtrl的属性改变事件代码

标签:

原文地址:http://www.cnblogs.com/ccjt/p/4463331.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!