2009-07-20 58 views
0

我是MFC的新手,並且對「MFC功能包」的新功能有點困惑。通過嚮導,我現在有一個看起來像IDE的應用程序 - 在左側有一個可停靠的文件瀏覽器,在右側有一個可停靠的屬性窗口。我可以通過ON_WM_LBUTTONDBLCLK和GetItemText()獲取文件瀏覽器窗口上的選定項目。MFC功能包 - 如何更新屬性網格控件

問題: 單擊文件資源管理器窗口中的項目後,應該「更新」屬性窗口。防爆。我在樹形控件中單擊一個項目「按鈕」,屬性窗口應該顯示「圖像」,「字體」和「顏色」我該怎麼做?你如何更新propertygridCtrl的內容?

回答

0

要填充屬性網格,請查看向導生成的內容。您將爲'item button'點擊事件設置處理程序,清除網格內容並重新填充。似乎是一個明顯的答案,所以也許我誤解了這個問題。

+0

那麼這正是它背後的邏輯。我可以通過在消息映射上調用的void CPropertiesWnd :: OnProperties1()來清除並填充網格內容,如ON_COMMAND(ID_PROPERTIES1,OnProperties1)。含義我想在單擊一個樹項目後在類CViewTree中調用OnProperties1()。你如何調用afx_msg void OnProperties1()? – Owen 2009-07-23 01:45:07

0

我不明白你的困難在哪裏。只需從CMFCPropertyGrid派生一個類,在其上添加一個公共成員函數來更新其數據,並有一個參數。從文件瀏覽器窗口中調用該函數,將所選元素作爲參數。

也許您正在選擇錯誤來處理用戶更改所選項目的事實?我不知道你的「文件瀏覽器」控件是什麼類,但是我建議你用「改變項目」而不是「點擊」或「LButton」來做某件事,因爲所選擇的項目可以通過其他方式改變,即方向鍵!