CWnd::ScrollWindowEx

移動視窗之用戶端區域的內容。

int ScrollWindowEx(
   int dx,
   int dy,
   LPCRECT lpRectScroll,
   LPCRECT lpRectClip,
   CRgn* prgnUpdate,
   LPRECT lpRectUpdate,
   UINT flags 
); 

參數

  • dx
    在單位指定數量,,水平捲動。這個參數必須有負值捲動至左方。

  • dy
    在單位指定數量,,垂直捲動。這個參數必須有移動負值。

  • lpRectScroll
    的長度 結構指定的點會捲動工作區的一部分。如果此參數為, NULL整個工作區移動。

  • lpRectClip
    RECT 結構指定的點裁剪矩形移動。這個結構的優先順序高於矩形所指向的 lpRectScroll。在這個矩形內只會移動。在這個矩形以外的位元不會受到影響,即使在 lpRectScroll 矩形。如果此參數為, NULL裁剪捲動矩形不會執行。

  • prgnUpdate
    識別修改存放區域失效捲動區域。這個參數可以是 NULL

  • lpRectUpdate
    要接收移動失效的矩形界限的 RECT 的點建構。這個參數可以是 NULL

  • flags
    可以是下列其中一個值:

    • SW_ERASE ,指定與 SW_INVALIDATE,清除最近失效的區域會透過傳送 WM_ERASEBKGND 訊息寫入 視窗。

    • SW_INVALIDATE 失效 prgnUpdate 判斷區域在移動之後。

    • SW_SCROLLCHILDREN 移動矩形交集所指向的 lpRectScroll 由 dx 和 dy所指定的像素數目的子視窗。視窗傳送訊息至 WM_MOVE 交集 lpRectScroll的子視窗,,即使不會移動。將插入號重新調整位置,在子視窗移開時,而且游標矩形交集捲動矩形。

傳回值

傳回值是 SIMPLEREGION (矩形失效的區域), COMPLEXREGION (是矩形失效的區域,重疊的矩形),或 NULLREGION (沒有失效的區域),則為,如果函式成功,否則傳回值是 錯誤

備註

這個功能類似於 ScrollWindow 函式,以及其他功能。

如果 SW_INVALIDATESW_ERASE 未指定, ScrollWindowEx 成員函式不移動失效的區域。如果其中一個旗標設為, ScrollWindowEx 失效的區域。區域之前,不會更新應用程式 UpdateWindow 呼叫成員函式,呼叫 RedrawWindow 成員函式 (指定 RDW_UPDATENOWRDW_ERASENOW),或從應用程式佇列不會擷取 WM_PAINT 訊息。

如果視窗是 WS_CLIPCHILDREN。 樣式, prgnUpdate 和 lpRectUpdate 指定傳回的區域表示必須更新移動視窗的整個頁面,包括在需要更新的子視窗的任何區域。

如果 SW_SCROLLCHILDREN 旗標,指定視窗不會適當地更新畫面,如果一部分的子視窗中移動。在來源矩形之外移動之 MDI 子視窗的組件在其新的目的就無法適當地清除並不會重新繪製。使用 DeferWindowPos Windows 函式移動 lpRectScroll 矩形間不完全的子視窗。游標位置,如果 SW_SCROLLCHILDREN 旗標,並插入號矩形交集捲動矩形。

所有輸入和輸出座標 (適用於 lpRectScroll、 lpRectClip、 lpRectUpdate和 prgnUpdate) 假設在工作區座標中,不論視窗是否具有 CS_OWNDCCS_CLASSDC 類別樣式。使用 LPtoDPDPtoLP Windows 函式進出邏輯座標轉換,如果需要。

需求

Header: afxwin.h

請參閱

參考

CWnd 類別

階層架構圖

CWnd::RedrawWindow

CDC::ScrollDC

CWnd::ScrollWindow

CWnd::UpdateWindow

DeferWindowPos

ScrollWindowEx