zoukankan      html  css  js  c++  java
  • CMFCPropertyGridCtrl的属性改变事件代码

    //用于区分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;
    }

  • 相关阅读:
    as3 三行三列 布满9个为一个界面
    as3 判断鼠标移动方向
    求两点之间 的直线距离
    AS3 localToGlobal、globalToLocal方法的总结
    as3 TweenMax TweenLite方法
    禁止点击
    影片 发光 变色
    ASCII字符串互换
    关于C语言的书
    关于态度
  • 原文地址:https://www.cnblogs.com/ccjt/p/4463331.html
Copyright © 2011-2022 走看看