Bagikan melalui


Struktur EXTLOGPEN (wingdi.h)

Struktur EXTLOGPEN mendefinisikan gaya pena, lebar, dan atribut kuas untuk pena yang diperluas. Struktur ini digunakan oleh fungsi GetObject ketika mengambil deskripsi pena yang dibuat ketika aplikasi yang disebut fungsi ExtCreatePen .

Sintaks

typedef struct tagEXTLOGPEN {
  DWORD     elpPenStyle;
  DWORD     elpWidth;
  UINT      elpBrushStyle;
  COLORREF  elpColor;
  ULONG_PTR elpHatch;
  DWORD     elpNumEntries;
  DWORD     elpStyleEntry[1];
} EXTLOGPEN, *PEXTLOGPEN, *NPEXTLOGPEN, *LPEXTLOGPEN;

Anggota

elpPenStyle

Kombinasi jenis pena, gaya, gaya tutup akhir, dan gaya gabungan. Nilai dari setiap kategori dapat diambil dengan menggunakan operator AND bitwise dengan masker yang sesuai.

Anggota elpPenStyle yang ditutupi dengan PS_TYPE_MASK memiliki salah satu nilai jenis pena berikut.

Nilai Makna
PS_GEOMETRIC Pena adalah geometris.
PS_COSMETIC Penanya kosmetik.
 

Anggota elpPenStyle yang ditutupi dengan PS_STYLE_MASK memiliki salah satu nilai gaya pena berikut:

Nilai Makna
PS_DASH Penanya putus-putus.
PS_DASHDOT Pena memiliki tanda hubung dan titik bergantian.
PS_DASHDOTDOT Pena memiliki tanda hubung bergantian dan titik ganda.
PS_DOT Penanya putus-putus.
PS_INSIDEFRAME Penanya padat. Ketika pena ini digunakan dalam fungsi gambar GDI apa pun yang mengambil persegi panjang pembatas, dimensi gambar diciutkan sehingga sepenuhnya pas dalam persegi panjang pembatas, dengan mempertimbangkan lebar pena. Ini hanya berlaku untuk pena PS_GEOMETRIC.
PS_NULL Pena tidak terlihat.
PS_SOLID Penanya padat.
PS_USERSTYLE Pena menggunakan array gaya yang disediakan oleh pengguna.
 

Kategori berikut hanya berlaku untuk pena PS_GEOMETRIC. Anggota elpPenStyle yang ditutupi dengan PS_ENDCAP_MASK memiliki salah satu nilai batas akhir berikut.

Nilai Makna
PS_ENDCAP_FLAT Batas ujung garis datar.
PS_ENDCAP_ROUND Batas ujung garis bulat.
PS_ENDCAP_SQUARE Batas ujung garis persegi.
 

Kategori berikut hanya berlaku untuk pena PS_GEOMETRIC. Anggota elpPenStyle yang ditutupi dengan PS_JOIN_MASK memiliki salah satu nilai gabungan berikut.

Nilai Makna
PS_JOIN_BEVEL Gabungan garis di-beveling.
PS_JOIN_MITER Gabungan garis bermigrasi ketika berada dalam batas saat ini yang ditetapkan oleh fungsi SetMiterLimit . Gabungan di-beveling ketika akan melebihi batas.
PS_JOIN_ROUND Gabungan garis bulat.

elpWidth

Lebar pena. Jika anggota elpPenStyle PS_GEOMETRIC, nilai ini adalah lebar baris dalam unit logis. Jika tidak, garisnya kosmetik dan nilai ini adalah 1, yang menunjukkan garis dengan lebar satu piksel.

elpBrushStyle

Gaya kuas pena. Nilai anggota elpBrushStyle bisa menjadi salah satu dari berikut ini.

Nilai Makna
BS_DIBPATTERN Menentukan kuas pola yang ditentukan oleh spesifikasi DIB. Jika elpBrushStyle BS_DIBPATTERN, anggota elpHatch berisi handel ke DIB yang dikemas. Untuk informasi selengkapnya, lihat diskusi di elpHatch
BS_DIBPATTERNPT Menentukan kuas pola yang ditentukan oleh spesifikasi DIB. Jika elpBrushStyle BS_DIBPATTERNPT, anggota elpHatch berisi pointer ke DIB yang dikemas. Untuk informasi selengkapnya, lihat diskusi di elpHatch.
BS_HATCHED Menentukan kuas yang menetas.
BS_HOLLOW Menentukan kuas berongga atau NULL .
BS_PATTERN Menentukan kuas pola yang ditentukan oleh bitmap memori.
BS_SOLID Menentukan kuas padat.

elpColor

Jika elpBrushStyle BS_SOLID atau BS_HATCHED, elpColor menentukan warna di mana pena akan digambar. Untuk BS_HATCHED, fungsi SetBkMode dan SetBkColor menentukan warna latar belakang.

Jika elpBrushStyle BS_HOLLOW atau BS_PATTERN, elpColor diabaikan.

Jika elpBrushStyle BS_DIBPATTERN atau BS_DIBPATTERNPT, kata urutan rendah elpColor menentukan apakah anggota bmiColors dari struktur BITMAPINFO berisi nilai atau indeks RGB eksplisit ke dalam palet logis yang saat ini direalisasikan. Nilai elpColor harus salah satu dari berikut ini.

Nilai Makna
DIB_PAL_COLORS Tabel warna terdiri dari array indeks 16-bit ke dalam palet logis yang saat ini diwujudkan.
DIB_RGB_COLORS Tabel warna berisi nilai RGB harfiah.
 

Makro RGB digunakan untuk menghasilkan struktur COLORREF .

elpHatch

Jika elpBrushStyle BS_PATTERN, elpHatch adalah handel ke bitmap yang menentukan pola.

Jika elpBrushStyle BS_SOLID atau BS_HOLLOW, elpHatch diabaikan.

Jika elpBrushStyle BS_DIBPATTERN, anggota elpHatch adalah handel untuk DIB yang dikemas. Untuk mendapatkan handel ini, aplikasi memanggil fungsi GlobalAlloc dengan GMEM_MOVEABLE (atau LocalAlloc dengan LMEM_MOVEABLE) untuk mengalokasikan blok memori dan kemudian mengisi memori dengan DIB yang dikemas. DIB yang dikemas terdiri dari struktur BITMAPINFO segera diikuti oleh array byte yang menentukan piksel bitmap.

Jika elpBrushStyle BS_DIBPATTERNPT, anggota elpHatch adalah pointer ke DIB yang dikemas. Penunjuk berasal dari blok memori yang dibuat oleh LocalAlloc dengan LMEM_FIXED diatur atau oleh GlobalAlloc dengan set GMEM_FIXED, atau itu adalah penunjuk yang dikembalikan oleh panggilan seperti LocalLock (handle_to_the_dib). DIB yang dikemas terdiri dari struktur BITMAPINFO segera diikuti oleh array byte yang menentukan piksel bitmap.

Jika elpBrushStyle BS_HATCHED, anggota elpHatch menentukan orientasi garis yang digunakan untuk membuat palka. Ini bisa menjadi salah satu nilai berikut.

Nilai Makna
HS_BDIAGONAL 45 derajat menetas ke atas (kiri ke kanan)
HS_CROSS Crosshatch horizontal dan vertikal
HS_DIAGCROSS Crosshatch 45 derajat
HS_FDIAGONAL 45 derajat menetas ke bawah (kiri ke kanan)
HS_HORIZONTAL Menetas horizontal
HS_VERTICAL Menetas vertikal

elpNumEntries

Jumlah entri dalam array gaya di anggota elpStyleEntry . Nilai ini nol jika elpPenStyle tidak menentukan PS_USERSTYLE.

elpStyleEntry[1]

Array gaya yang disediakan pengguna. Array ditentukan dengan panjang terbatas, tetapi digunakan seolah-olah berulang tanpa batas waktu. Entri pertama dalam array menentukan panjang tanda hubung pertama. Entri kedua menentukan panjang celah pertama. Setelah itu, panjang tanda hubung dan celah bergantian.

Jika elpWidth menentukan garis geometris, panjangnya berada dalam unit logis. Jika tidak, garisnya kosmetik dan panjangnya ada di unit perangkat.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Header wingdi.h (sertakan Windows.h)

Lihat juga

BITMAPINFO

COLORREF

ExtCreatePen

GetObject

Struktur Pena

Gambaran Umum Pena

RGB

SetBkColor

SetBkMode