首頁>Club>
4
回覆列表
  • 1 # 使用者2458114238191884

    面三個繪圖函式需要一個指向矩形結構的指標:

    FillRect (hdc, &rect, hBrush) ;

    FrameRect (hdc, &rect, hBrush) ;

    InvertRect (hdc, &rect) ;

    在這些函式中,rect引數是一個RECT型態的結構,它包含有4個欄位:left、top、right和bottom。這個結構中的座標被當作邏輯座標。

    FillRect用指定畫刷來填入矩形(直到但不包含right和bottom座標),該函式不需要先將畫刷選進裝置內容。

    FrameRect使用畫刷畫矩形框,但是不填入矩形。使用畫刷畫矩形看起來有點奇怪,因為對於我們所介紹過的函式(如Rectangle),其邊線都是用目前畫筆繪製的。FrameRect允許使用者畫一個不一定為純色的矩形框。該邊界框為一個邏輯單位元寬。如果邏輯單位大於裝置單位,則邊界框將會為2個圖素寬或者更寬。

    InvertRect將矩形中所有圖素翻轉,1轉換成0,0轉換為1,該函式將白色區域轉變成黑色,黑色區域轉變為白色,綠色區域轉變成洋紅色。

    Windows還提供了9個函式,使您可以更容易、更清楚地操作RECT結構。例如,要將RECT結構的四個欄位設定為特定值,通常使用如下的程式段:

    rect.left = xLeft ;

    rect.top = xTop ;

    rect.right = xRight ;

    rect.bottom = xBottom ;

    但是,透過呼叫SetRect函式,只需要一道敘述就可以得到同樣的結果:

    SetRect (&rect, xLeft, yTop, xRight, yBottom) ;

  • 中秋節和大豐收的關聯?
  • 哪個牌子的mp6比較好?