屬性控件CMFCPropertyGridCtrl簡單用法

這是個人原創!spa

用一堆的編輯框下拉框作配置界面,非常繁瑣,還要對齊排版……
用這個屬性控件 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,看起來很差
相關文章
相關標籤/搜索