首页 > 编程语言 > 详细

CMFCPropertyGridCtrl的属性改变事件代码

时间:2015-04-28 17:54:49      阅读:800      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!