-
ScrollWindowEx
鎖定
- 中文名
- ScrollWindowEx
- Windows CE
- 不支持
- Windows NT
- 3.1
- 頭文件
- winuser.h
目錄
- 1 函數原型
- 2 函數參數
- 3 WindowEx和DC的比較
- ▪ 相同點
- ▪ 不同點
ScrollWindowEx函數原型
int ScrollWindowEx(
HWND hWnd, // handle to window
int dx, // horizontal scrolling
int dy, // vertical scrolling
CONST RECT *prcScroll, // client area
CONST RECT *prcClip, // clipping rectangle
HRGN hrgnUpdate, // handle to update region
LPRECT prcUpdate, // invalidated region
UINT flags // scrolling options
);
ScrollWindowEx函數參數
hWnd:客户區域將被滾動的窗體句柄。
dx:在設備單元中,指定水平滾動數量。在向左滾動時此參數必須為負。
dy:在設備單元中,指定垂直滾動數量。在向上滾動時此參數必須為負。
prcScroll:指向RECT結構,它指定了將被滾動的客户區域部分。
hrgnUpdate:處理已被修改的區域,保存這些由於滾動而無效的區域。此參數可以為空。
prcUpdate:指向RECT結構,它接收由於滾動使得矩形無效部分的邊界。此參數值可以為空。
flags:指定控制滾動的標誌。這個參數可以是下面的值:
SW_ERASE:通過發送WM_ERASEBKGND消息給窗體。
SW_INVALIDATE:在滾動後,使得由參數hrgnUpdate標識的無效區域被擦除。
SW_SCROLLCHILDREN:動所有由參數prcScroll指出交叉重疊矩形的子窗體。子窗體按照dx和dy規定的像素個數滾動。系統發送消息給所有由prcScroll指出交叉重疊矩形的子窗體,即使他們不移動。
返回值:如果函數運行成功,返回值為SIMPLEREGION(矩形的無效區域),COMPLEXREGION(非矩形的無效區域)或NULLREGION(沒有使無效的區域)如果函數運行失敗,返回值為ERROR。若想獲得更多的錯誤信息,請調用GetLastError函數。
注意:如果SW_INVALIDATE和SW_ERASE標誌沒有被設定,那麼函數ScrollWindowEx不能使滾動離開的區域失效。如果其中任意一個標誌被設置,ScrollWindowEx函數就可以使區域無效。這塊區域將不再被更新直到應用程序調用theUpdateWindow函數,調用theRedrawWindow函數(指定RDW_UPDATENOW或RDW_ERASENOW標誌)或是從申請隊列中找到WM_PAINT消息。
如果窗體擁有WS_CLIPCHILDREN類型,那麼由hrgnUpdate和prcUpdate指定的返回區域描述了必須更新的滾動窗體的全部區域,包括所需更新子窗體的任何區域。
若SW_SCROLLCHILDREN標誌被設置,在子窗體被滾動時,系統將不能完全更新屏幕。位於矩形外邊的滾動子窗體部分不被擦除,也不在它的新方向上被重畫。為了移動子窗體使之完全不在prcScroll指定的矩形條中,可使用DeferWindowPos函數。若標誌SW_SCROLLCHILDREN被設置並且^符號交叉滾動矩形,則光標也重新設置。
所有輸入輸出均被定義為客户端如果有必要,使用IptoDP和dptoLP函數轉換邏輯相關性。
Windows CE:參數flags不支持SW_SCROLLCHILDREN。參數dx和dy中只有一個為零。
速查:Windows NT 3.1、Windows 95、Windows CE 1.0以上,頭文件:winuser.h;庫文件:user32.lib。
ScrollWindowExWindowEx和DC的比較
ScrollWindowEx相同點
a)兩者都可以將某區域滾動到另外一區域,同時計算髒區域。
b)兩者最終的實現都是通過內部的BitBlt實現的。
c)如果要對重繪的區域進行精細的管理和計算,則傳入hrfgUpdate,否則傳入prcUpdate即可。
ScrollWindowEx不同點
a)ScrollDC只是用於DC,因此它不會發出WM_PAINT進行重繪;而ScrollWindowEx則會。另外就是ScrollWindowEx還可以在滾動時進行其他控制,見flags的值。
b)如果需要滾動整個客户區,則需要用到ScrollWindowEx(來自MSDN),個人覺得ScrollDC也可以實現。
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:12次歷史版本
- 最近更新: lkzegknhlo