Bagikan melalui


Struktur DLGTEMPLATEEX

Templat kotak dialog yang diperluas dimulai dengan header DLGTEMPLATEEX yang menjelaskan kotak dialog dan menentukan jumlah kontrol dalam kotak dialog. Untuk setiap kontrol dalam kotak dialog, templat kotak dialog yang diperluas memiliki blok data yang menggunakan format DLGITEMTEMPLATEEX untuk menjelaskan kontrol.

Struktur DLGTEMPLATEEX tidak ditentukan dalam file header standar apa pun. Definisi struktur disediakan di sini untuk menjelaskan format templat yang diperluas untuk kotak dialog.

Sintaks

typedef struct {
  WORD      dlgVer;
  WORD      signature;
  DWORD     helpID;
  DWORD     exStyle;
  DWORD     style;
  WORD      cDlgItems;
  short     x;
  short     y;
  short     cx;
  short     cy;
  sz_Or_Ord menu;
  sz_Or_Ord windowClass;
  WCHAR     title[titleLen];
  WORD      pointsize;
  WORD      weight;
  BYTE      italic;
  BYTE      charset;
  WCHAR     typeface[stringLen];
} DLGTEMPLATEEX;

Anggota

dlgVer

Ketik: WORD

Nomor versi templat kotak dialog yang diperluas. Anggota ini harus diatur ke 1.

Tanda tangan

Ketik: WORD

Menunjukkan apakah templat adalah templat kotak dialog yang diperluas. Jika tanda tangan 0xFFFF, ini adalah templat kotak dialog yang diperluas. Dalam hal ini, anggota dlgVer menentukan nomor versi templat. Jika tanda tangan adalah nilai apa pun selain 0xFFFF, ini adalah templat kotak dialog standar yang menggunakan struktur DLGTEMPLATE dan DLGITEMTEMPLATE .

helpID

Jenis: DWORD

Pengidentifikasi konteks bantuan untuk jendela kotak dialog. Ketika sistem mengirim pesan WM_HELP , sistem meneruskan nilai ini di anggota wContextId dari struktur HELPINFO .

exStyle

Jenis: DWORD

Gaya jendela yang diperluas. Anggota ini tidak digunakan saat membuat kotak dialog, tetapi aplikasi yang menggunakan templat kotak dialog dapat menggunakannya untuk membuat jenis jendela lainnya. Untuk daftar nilai, lihat Gaya Jendela yang Diperluas.

Gaya

Jenis: DWORD

Gaya kotak dialog. Anggota ini bisa menjadi kombinasi nilai gaya jendela dan nilai gaya kotak dialog.

Jika gaya menyertakan gaya kotak dialog DS_SETFONT atau DS_SHELLFONT , header DLGTEMPLATEEX dari templat kotak dialog yang diperluas berisi empat anggota tambahan ( menunjuk, berat, miring, dan typeface) yang menjelaskan font yang akan digunakan untuk teks di area klien dan kontrol kotak dialog. Jika memungkinkan, sistem membuat font sesuai dengan nilai yang ditentukan dalam anggota ini. Kemudian sistem mengirim pesan WM_SETFONT ke kotak dialog dan ke setiap kontrol untuk menyediakan handel ke font.

Untuk informasi selengkapnya, lihat Font Kotak Dialog.

cDlgItems

Ketik: WORD

Jumlah kontrol dalam kotak dialog.

x

Jenis: pendek

Koordinat x, dalam unit kotak dialog, dari sudut kiri atas kotak dialog.

y

Jenis: pendek

Koordinat y, dalam unit kotak dialog, sudut kiri atas kotak dialog.

Cx

Jenis: pendek

Lebar, dalam unit kotak dialog, dari kotak dialog.

Cy

Jenis: pendek

Tinggi, dalam unit kotak dialog, dari kotak dialog.

menu

Jenis: sz_Or_Ord

Array panjang variabel elemen 16-bit yang mengidentifikasi sumber daya menu untuk kotak dialog. Jika elemen pertama array ini 0x0000, kotak dialog tidak memiliki menu dan array tidak memiliki elemen lain. Jika elemen pertama 0xFFFF, array memiliki satu elemen tambahan yang menentukan nilai ordinal sumber daya menu dalam file yang dapat dieksekusi. Jika elemen pertama memiliki nilai lain, sistem memperlakukan array sebagai string Unicode yang dihentikan null yang menentukan nama sumber daya menu dalam file yang dapat dieksekusi.

windowClass

Jenis: sz_Or_Ord

Array panjang variabel elemen 16-bit yang mengidentifikasi kelas jendela kotak dialog. Jika elemen pertama array 0x0000, sistem menggunakan kelas kotak dialog yang telah ditentukan sebelumnya untuk kotak dialog dan array tidak memiliki elemen lain. Jika elemen pertama 0xFFFF, array memiliki satu elemen tambahan yang menentukan nilai ordinal dari kelas jendela sistem yang telah ditentukan sebelumnya. Jika elemen pertama memiliki nilai lain, sistem memperlakukan array sebagai string Unicode yang dihentikan null yang menentukan nama kelas jendela terdaftar.

judul

Jenis: WCHAR[titleLen]

Judul kotak dialog. Jika elemen pertama array ini 0x0000, kotak dialog tidak memiliki judul dan array tidak memiliki elemen lain.

menunjuk

Ketik: WORD

Ukuran titik font yang digunakan untuk teks dalam kotak dialog dan kontrolnya.

Anggota ini hanya ada jika anggota gaya menentukan DS_SETFONT atau DS_SHELLFONT.

Berat badan

Ketik: WORD

Bobot font. Perhatikan bahwa, meskipun ini bisa menjadi salah satu nilai yang tercantum untuk anggota lfWeight dari struktur LOGFONT , nilai apa pun yang digunakan akan secara otomatis diubah menjadi FW_NORMAL.

Anggota ini hanya ada jika anggota gaya menentukan DS_SETFONT atau DS_SHELLFONT.

Miring

Jenis: BYTE

Menunjukkan apakah font miring. Jika nilai ini TRUE, font miring.

Anggota ini hanya ada jika anggota gaya menentukan DS_SETFONT atau DS_SHELLFONT.

Charset

Jenis: BYTE

Set karakter yang akan digunakan. Untuk informasi selengkapnya, lihat anggota lfcharsetLOGFONT.

Anggota ini hanya ada jika anggota gaya menentukan DS_SETFONT atau DS_SHELLFONT.

Tipografi

Jenis: WCHAR[stringLen]

Nama typeface untuk font.

Anggota ini hanya ada jika anggota gaya menentukan DS_SETFONT atau DS_SHELLFONT.

Keterangan

Anda bisa menggunakan templat kotak dialog yang diperluas alih-alih templat kotak dialog standar di fungsi CreateDialogIndirectParam, DialogBoxIndirectParam, CreateDialogIndirect, dan DialogBoxIndirect .

Mengikuti header DLGTEMPLATEEX dalam templat kotak dialog yang diperluas adalah satu atau beberapa struktur DLGITEMTEMPLATEEX yang menjelaskan kontrol kotak dialog. Anggota cDlgItems dari struktur DLGITEMTEMPLATEEX menentukan jumlah struktur DLGITEMTEMPLATEEX yang mengikuti dalam templat.

Setiap struktur DLGITEMTEMPLATEEX dalam templat harus diselaraskan pada batas DWORD . Jika anggota gaya menentukan gaya DS_SETFONT atau DS_SHELLFONT , struktur DLGITEMTEMPLATEEX pertama dimulai pada batas DWORD pertama setelah string typeface . Jika gaya ini tidak ditentukan, struktur pertama dimulai pada batas DWORD pertama setelah string judul .

Menu, windowClass, judul, dan array typeface harus diratakan pada batas WORD.

Jika Anda menentukan string karakter di menu, windowClass, judul, dan array typeface , Anda harus menggunakan string Unicode. Gunakan fungsi MultiByteToWideChar untuk menghasilkan string Unicode ini dari string ANSI.

Anggota x, y, cx, dan cy menentukan nilai dalam unit kotak dialog. Anda dapat mengonversi nilai ini menjadi unit layar (piksel) dengan menggunakan fungsi MapDialogRect .

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung
Windows 2000 Server [hanya aplikasi desktop]

Lihat juga

Referensi

CreateDialogIndirect

CreateDialogIndirectParam

DialogBoxIndirect

DialogBoxIndirectParam

DLGITEMTEMPLATEEX

MapDialogRect

WM_SETFONT

Konseptual

Kotak Dialog

Sumber Daya Lainnya

LOGFONT

MultiByteToWideChar