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) |