CPen::CPen
建構 CPen 物件。
CPen( );
CPen(
int nPenStyle,
int nWidth,
COLORREF crColor
);
CPen(
int nPenStyle,
int nWidth,
const LOGBRUSH* pLogBrush,
int nStyleCount = 0,
const DWORD* lpStyle = NULL
);
參數
nPenStyle
指定畫筆樣式。在建構函式的第一個版本的這個參數可以是下列其中一個值:PS_SOLID 建立一個實心畫筆。
PS_DASH 建立虛線畫筆。有效,只有當畫筆寬度小於或等於 1,在單位。
PS_DOT 建立直線。為多點的畫筆。有效,只有當畫筆寬度小於或等於 1,在單位。
PS_DASHDOT 建立具有替代虛線和點的畫筆。有效,只有當畫筆寬度小於或等於 1,在單位。
PS_DASHDOTDOT 建立具有替代虛線和雙重句號的畫筆。有效,只有當畫筆寬度小於或等於 1,在單位。
PS_NULL 建立一個空的畫筆。
PS_INSIDEFRAME 建立 (例如繪製在 Windows GDI 輸出函式所產生的封閉式形狀內部框架的一行指定週框的提示, 橢圓形方框(、、、和 RoundRectPieChord 成員函式)。當模式搭配 Windows GDI 不指定週框的輸出功能 (例如, LineTo 成員函式),畫筆的繪圖區域不是由架構限制。
CPen 建構函式的第二個版本指定型別,樣式,節流端蓋端點的組合,然後加入屬性。應該使用位元的 OR 運算組合使用或運算子,從每個分類的值 (|)。畫筆類型可以是下列其中一個值:
PS_GEOMETRIC 建立一個幾何畫筆。
PS_COSMETIC 建立一個。妝畫筆。
CPen 建構函式的第二個版本加入 nPenStyle畫筆的下列模式:
PS_ALTERNATE 建立設定其他像素的畫筆。(這個模式與自動化妝筆只適用於)。
PS_USERSTYLE 建立利用使用者提供的一個樣式的陣列的畫筆。
位元組資料流端蓋端點可以是下列其中一個值:
PS_ENDCAP_ROUND 節流端蓋端點是循環。
PS_ENDCAP_SQUARE 節流端蓋端點是方格。
PS_ENDCAP_FLAT 節流端蓋端點是平面的。
聯結可以是下列其中一個值:
PS_JOIN_BEVEL Joins 兩個。
與其在 SetMiterLimit 函式時,設定目前的限制範圍內PS_JOIN_MITER Joins 為斜接。如果聯結超過此限制,則兩個。
PS_JOIN_ROUND Joins 是循環。
nWidth
指定畫筆的寬度。如需建構函式的第一個版本,則為,如果這個值是 0,而不管對應模式,在單位的寬度永遠為 1 像素,。
如需建構函式的第二個版本,則為,如果 nPenStyle 是 PS_GEOMETRIC,寬度以邏輯單位測量。如果 nPenStyle 是 PS_COSMETIC,必須將這個寬度為 1。
crColor
包含畫筆的 RGB 色彩。pLogBrush
為 LOGBRUSH 結構的點。如果 nPenStyle 是 PS_COSMETIC, LOGBRUSH 結構的 lbColor 成員指定畫筆的色彩,並 LOGBRUSH 結構的 lbStyle 成員必須設定為 BS_SOLID。如果 nPenStyle 是 PS_GEOMETRIC,所有成員都必須使用指定畫筆的筆刷屬性。nStyleCount
在 Doubleword 的單位指定長度,, lpStyle 陣列。如果不是, nPenStylePS_USERSTYLE,這個值必須為零。lpStyle
指向 兩位數值。第一個值以使用者定義的樣式會指定第一條虛線的長度,第二個值會指定第一個空白的長度,以此類推。如果不是, nPenStylePS_USERSTYLE,這個指標必須是 NULL 。
備註
如果您使用建構函式沒有引數,您必須使用 CreatePen, CreatePenIndirect產生的 CPen 物件,或 CreateStockObject 成員函式。
如果您使用接受引數的建構函式,然後再進一步初始化不是必要的。使用引數的建構函式可以擲回例外狀況,如果發生錯誤,,而沒有引數的建構函式一定會成功。
範例
// Create a solid red pen of width 2.
CPen myPen1(PS_SOLID, 2, RGB(255,0,0));
// Create a geometric pen.
LOGBRUSH logBrush;
logBrush.lbStyle = BS_SOLID;
logBrush.lbColor = RGB(0,255,0);
CPen myPen2(PS_DOT|PS_GEOMETRIC|PS_ENDCAP_ROUND, 2, &logBrush);
需求
Header: afxwin.h