MFC单文档框架编程(二): SDI框架下的消息处理
生活随笔
收集整理的這篇文章主要介紹了
MFC单文档框架编程(二): SDI框架下的消息处理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
MFC單文檔框架編程(一)
.......................................................................................................................1. 菜單欄與工具欄具有相同ID,則兩個控件執行同樣的動作如菜單項(打開)與工具欄按鈕(打開)具有相同的ID (ID_FILE_OPEN),則二者都可實現"打開"的動作,而實現代碼只需要在一個控件中實現。2. 在XXXDoc.h(框架自動生成的Doc)中為類添加數據成員,則該成員可為所有使用該Doc的所有View訪問(如程序中的所有View)如添加變量:int m_devNumber;3. 添加菜單項事件處理程序void CMainFrame::OnFileOpen(){// TODO: 在此添加命令處理程序代碼CBrdManageDoc* pDoc=(CBrdManageDoc*)GetActiveDocument();// 獲取文檔 (CBrdManageDoc為工程Doc名字)int * pDevNum = &(pDoc->m_devNumber);????? ? //Doc類的成員變量int Status = realFunction(pDevNum);????????????????? ? //程序的核心功能函數 對 Doc的成員變量賦值if (Status == NP_SUCCESS){pDoc->UpdateAllViews(NULL); ????????? ? ??//更新所有視圖UpdateData(FALSE); ????????????????????????????????//各控件的內容清空}}4. 在其他view中處理Doc類的數據如重載CBrdListView的OnUpdate函數:void CBrdListView::OnUpdate(CView* /*pSender*/, LPARAM /*lHint*/, CObject* /*pHint*/){// TODO: 在此添加專用代碼和/或調用基類CBrdManageDoc* pDoc=(CBrdManageDoc*)GetDocument(); //獲取文檔指針if(pDoc->m_devNumber > 0) //添加了數據{.......}}5.從上面的過程可以看到,框架下的各種View通過共享一Document,而實現數據共享(消息傳遞)。
總結
以上是生活随笔為你收集整理的MFC单文档框架编程(二): SDI框架下的消息处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MFC单文档框架编程(一): 分隔窗口的
- 下一篇: MFC单文档框架编程(三): CTabV