這裡說的是和 視窗關聯的滾動條。
給視窗新增滾動條,指定視窗風格為 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...