中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MFC體系結構(2)

發布時間:2020-07-25 00:35:45 來源:網絡 閱讀:486 作者:超級極客 欄目:編程語言

一、CWind類 

1.工具/提示支持

為用戶提供簡短幫助 

a.EnableToolTips打開提示功能  

OnToolHitTest判斷是哪個字控件要顯示Tooltip

b.UpdateData  (DDV 對話框數據交換) 把MFC成員變量值給控件,或者控件的值交換給成員變量

c.UpdateDialogControls 比如對話框改變大小 刷新對話框控件

d.窗口居中

e.RunModalLoop  ContinueModal  EndModalLoop

暫時接管線程的消息循環,可以做消息過濾,比如你手動實現模態對話框

你打開對話框,你只有對這個窗口的消息才處理,其他所有的都過濾掉.



二、CFrameWnd類 框架窗口

1.活動框架視圖文檔支持

a.GetActiveDocument()獲取活動激活的文檔 

GetActiveView()獲得活動激活的視圖  SetActiveView()設置活動激活視圖

GetActiveFrame() 獲得激活的框架

b.GetTitle()  SetTitle() 設置框架標題

c.SetMessageText()  設置消息提示框的標題

d.BeginModalState() EndModalState() InModalState()

輔助對話框模態狀態,模態對話框彈出來的時候,框架窗口是不激活的

但是,不激活的時候,你點擊他會閃動,提示用戶我是不激活的, 

都需要上面的API來控制這些狀態.


2.框架窗口和視圖的關系

a.最外層是Frame Window Object 框架窗口對象,顯示整個框架窗口.

b.View Object是一個子窗口,實際上就是客戶區,被View視圖類分配,

共享了框架窗口的DC,框架窗口包著視圖.視圖可以有各種顯示的內容.

c.View視圖負責和Document通訊,這就是一個典型的文檔視圖

應用框架.

MFC體系結構(2)


3.更多的是在派生類里的支持,尤其是CMDIFrameWnd

他就是說對自己的客戶區劃分,有些客戶區可工具條,給面板,

有些則要給子框架,還有一些客戶區要分配給狀態欄,菜單條.



三、CViwe類 視圖類

1.派生類必須重載方法

a.virtual void OnDraw(CDC* pDC) = 0;

OnPaint里調用的子方法,OnPaint之前還要對DC做一個預處理

區分你是打印環境,還是打印預覽,還是屏幕顯示,OnDraw里面

你就不用再去區分現在是打印狀態,我的做標書是什么樣子等待.

OnDraw就是專心的進行繪制,圖形繪制,信息顯示.

繪制需要的參數,做標什么的,都在OnPrint里完成

OnPaint()方法在調用OnDraw方法向顯示器輸出之前需要做大量的準備工作,

其中之一就是準備一個跟顯示器相關的DC對象,并把此對象傳遞給OnDraw方法,讓其用此對象向顯示器輸出

OnPrint()方法在調用OnDraw方法向打印機輸出之前同樣作很多準備工作,

其中之一就是準備一個跟打印機相關的DC對象,并把此對象傳遞給OnDraw方法,讓其用此對象向打印機輸出。


b.virtual void OnUpdate(CView* psender,LPARAM lHint, CObject* pHint);

在文檔內容發生變更的時候,他就通知視圖改變你的顯示,這個往往是用在

一個文檔多個視圖的時候.其中有個視圖有個用戶在這個視圖操作了一個東西,

那就會接到OnUpdate消息,psender是誰發起改變的操作,如果是NULL就是改變

所有的視圖,如果某個視圖發現psender和自己的this是相等的,就表示是自己,

自己則是已經更新過了,則不需要再次更新. 頻繁調用會較低效率.



2.其他重要方法

a.GetDocument()得到視圖對應的文檔

b.OnActivateView()View激活的時候

c.OnActivateFrame()視圖所在框架激活的時候

d.其實這兩個激活任選其一即可,不用再兩個內都寫代碼

因為View實際就代表了框架窗口的客戶區,你框架窗口激活,

你客戶區也必須激活,你客戶區激活框架窗口也激活



3.View種類特點和用途(可用的派生類)

a.CEditview    簡單文本編輯視圖      記事本

b.CFromView    帶豐富控件的類對話框視圖  數據庫應用

c.CHtmlEditviw   HTML編輯顯示視圖       HTML編輯器

d.CHtmlView    HTML顯示視圖        電子郵件應用.瀏覽器

e.CListView    簡單列表視圖        類電子表格應用(需改進)

f.CRichEditview   RTF文本編輯視圖       寫字板等

g.CScrollView    帶滾動條的簡單視圖    繪圖冉家,CAD畫板

h.CTreeView    樹形控件視圖        顯示樹形信息的應用




向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兰西县| 讷河市| 南漳县| 陇南市| 株洲县| 邹城市| 杭州市| 清水县| 瓦房店市| 岚皋县| 睢宁县| 织金县| 太谷县| 通山县| 祁连县| 若羌县| 金湖县| 慈溪市| 黑龙江省| 新郑市| 龙山县| 剑阁县| 江北区| 上林县| 唐河县| 桐乡市| 曲沃县| 桃园县| 宁强县| 石渠县| 万安县| 运城市| 威远县| 鞍山市| 安顺市| 绥芬河市| 清新县| 三江| 化隆| 六盘水市| 黄浦区|