MFC Windows程式設計學習筆記 滾動條

2021-07-28 13:40:24 字數 994 閱讀 7733

這裡說的是和 視窗關聯的滾動條。

給視窗新增滾動條,指定視窗風格為 ws_vscroll/ws_hscroll。

建立了滾動條後,還需設定 範圍,位置,頁大小。

風格1:

cwnd::setscrollrange/getscrollrange

cwnd::setscrollpos/getscrollpos

關於重畫選項的意義:

在連續多次呼叫,前面重畫選項關,最後一次重畫選項開,可提高執行效率。

風格2:

cwnd::getscrollinfo/setscrollinfo

(int nbar, lpscrollinfo lpscrollinfo, uint nmask = sif_all)

水平滾動條發wm_hscroll訊息,

垂直滾動條發wm_vscroll訊息。

cwnd::scrollwindow滾動視窗,適合處理滾動條滾動造成的視窗重繪。(滾動塊)使視窗客戶區的整體或區域性內容向 上/下/左/右滾動,滾動採用畫素塊傳輸,使移出部分無效。

如何在有滾動條視窗中高效,簡潔繪製:

1.響應wm_hscroll/wm_vscroll時,用scrollwindow

在onpaint中。

簡單的,可以按視窗空間逐行繪製。(全部繪製)

高效的,繪製前,設定對映模式的視窗原點,讓視窗繪製部分和滾動位置匹配。(部分繪製)

關於:wm_create

對應於 afx_msg int oncreate(lpcreatestruct lpcreatestruct);

注意在於 返回0,表示視窗已正確初始化,返回-1,表示不能建立。其他的訊息處理函式,一般成功返回true,失敗false。

cframewnd::postncdestroy有delete this。

cwnd::postncdestroy中無,對cwnd或其派生類,用new建立視窗,做mainpage時,往往需要覆蓋此函式,加上delete this。

MFC Windows 程式設計 1

include long winapi wndproc hwnd,uint,wparam,lparam int winapi winmain hinstance hinstance,hinstance hprevinstance,lpstr lpcmdline,int nshowcmd wndcla...

MFC Windows 程式設計 4

文字gdi字型cfont類 cdc文字函式 drawtext 在格式化矩形中顯示文字 textout 在當前或指定位置輸入一行文字 tabbedtextout 輸出一行憨厚製表符的文字 exttextout 輸入一行文字,並有選擇地給矩形填充背景色或改變字元間距 gettextextent 計算當前...

MFC Windows 程式設計 第四章 選單

編譯一次後就不用再編譯了,而已加快程式編譯速度,一般將不更改的標頭檔案 c執行時標頭檔案和其他靜態型別標頭檔案包含在裡面。2 基於檢視的應用程式體系結構wm paint和使用者區滑鼠訊息 鍵盤訊息處理程式都必須在檢視中進行處理,所有在框架視窗使用onsetfocus 焦點傳遞給檢視 和過載oncmd...