屬性控件CMFCPropertyGridCtrl簡單用法


這是我的原創!

用一堆的編輯框下拉框做配置界面,很是繁瑣,還要對齊排版……
用這個屬性控件 CMFCPropertyGridCtrl 就可以統一風格了。

 1 //初始化
 2 CMFCPropertyGridCtrl m_propGrid;    //屬性控件
 3 m_pPropName = new CMFCPropertyGridProperty(_T("名稱"), _T(""), _T("描述")); //屬性項
 4 m_pPropBuy = new CMFCPropertyGridProperty(_T("占比(%)"), (float)0.1, _T("")); //這里必須強制指定類型,否則取值會亂
 5 m_propGrid.AddProperty(m_pPropBuy);    //控件中加入一個屬性項
 6 //可以添加的屬性有4類
 7 CMFCPropertyGridProperty
 8 CMFCPropertyGridColorProperty
 9 CMFCPropertyGridFileProperty
10 CMFCPropertyGridFontProperty
11 
12 //添加下拉選項
13 prop->AddOption("yes");
14 prop->AddOption("no");
15 prop->AllowEdit(FALSE);
16 
17 //取值
18 COleVariant v = m_pPropName->GetValue();    //這回的是這種萬用值,是union實現的
19 CString name;
20 name = v.bstrVal;    //字符串要這樣轉
21 float f = m_pPropBuy->GetValue().fltVal;    //小數,取值類型要與設置值的類型完全一致
22 
23 //事件通知
24 AFX_WM_PROPERTY_CHANGED    //用類向導添加這個消息響應,通知來的就是屬性項的指針了
25 
26 //缺點
27 對於bool類型,不能顯示為CheckBox,看起來不好

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM