共用方式為


CreatePen 函式 (wingdi.h)

CreatePen 函式會建立具有指定樣式、寬度和色彩的邏輯手寫筆。 接著可以將手寫筆選取到裝置內容中,並用來繪製線條和曲線。

語法

HPEN CreatePen(
  [in] int      iStyle,
  [in] int      cWidth,
  [in] COLORREF color
);

參數

[in] iStyle

畫筆樣式。 它可以是下列任何一個值。

意義
PS_SOLID
手寫筆是實心的。
PS_DASH
手寫筆虛線。 只有在畫筆寬度為裝置單位中的一或更少時,此樣式才有效。
PS_DOT
畫筆會虛線。 只有在畫筆寬度為裝置單位中的一或更少時,此樣式才有效。
PS_DASHDOT
手寫筆有交替的虛線和點。 只有在畫筆寬度為裝置單位中的一或更少時,此樣式才有效。
PS_DASHDOTDOT
手寫筆有交替的虛線和雙點。 只有在畫筆寬度為裝置單位中的一或更少時,此樣式才有效。
PS_NULL
手寫筆不可見。
PS_INSIDEFRAME
手寫筆是實心的。 當此畫筆用於採用周框的任何 GDI 繪圖函式時,圖表的維度會縮小,使其完全符合周框,並考慮畫筆的寬度。 這隻適用於幾何畫筆。

[in] cWidth

畫筆的寬度,以邏輯單元表示。 如果 nWidth 為零,則不論目前的轉換為何,畫筆都是單一像素寬。

CreatePen 會傳回具有指定寬度的手寫筆,但如果您指定寬度大於下列樣式的寬度,請使用PS_SOLID樣式:PS_DASH、PS_DOT、PS_DASHDOT PS_DASHDOTDOT。

[in] color

畫筆色彩的色彩參考。 若要產生 COLORREF 結構,請使用 RGB 宏。

傳回值

如果函式成功,則傳回值是識別邏輯手寫筆的句柄。

如果函式失敗,則傳回值為 NULL

備註

應用程式建立邏輯畫筆之後,可以藉由呼叫 SelectObject 函式,將該手寫筆選取到裝置內容中。 將手寫筆選取到裝置內容之後,即可用來繪製線條和曲線。

如果 nWidth 參數指定的值是零,則使用所建立畫筆繪製的線條一律為單一圖元寬,而不論目前的轉換為何。

如果 nWidth 指定的值大於 1, 則 fnPenStyle 參數必須PS_NULL、PS_SOLID或PS_INSIDEFRAME。

如果 nWidth 指定的值大於 1, 而 fnPenStyle 是PS_INSIDEFRAME,則與畫筆相關聯的線條會在多邊形和多邊形以外的所有基本類型框架內繪製。

如果 nWidth 指定的值大於 1,fnPenStyle 會PS_INSIDEFRAME,而 crColor 參數指定的色彩與邏輯調色盤中的其中一個專案不符,則系統會使用重複色彩繪製線條。 純色畫筆無法使用 Dithered 色彩。

使用PS_DASH、PS_DOT、PS_DASHDOT或PS_DASHDOTDOT的 iStyle 參數時,若要使虛線或點之間的間距變成透明,請使用 SetBkMode 將模式設定為 TRANSPARENT。

當您不再需要手寫筆時,請呼叫 DeleteObject 函式來刪除它。

Icm: 建立時不會進行色彩管理。 不過,當畫筆選取為啟用ICM的裝置內容時,就會執行色彩管理。

範例

如需範例,請參閱 建立彩色畫筆和筆刷

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 wingdi.h (包含 Windows.h)
程式庫 Gdi32.lib
Dll Gdi32.dll

另請參閱

COLORREF

CreatePenIndirect

DeleteObject

ExtCreatePen

GetObject

手寫筆函式

手寫筆概觀

RGB

SelectObject