Fungsi CreateDialogIndirectParamA (winuser.h)
Membuat kotak dialog tanpa mode dari templat kotak dialog dalam memori. Sebelum menampilkan kotak dialog, fungsi meneruskan nilai yang ditentukan aplikasi ke prosedur kotak dialog sebagai parameter lParam dari pesan WM_INITDIALOG . Aplikasi dapat menggunakan nilai ini untuk menginisialisasi kontrol kotak dialog.
Sintaks
HWND CreateDialogIndirectParamA(
[in, optional] HINSTANCE hInstance,
[in] LPCDLGTEMPLATEA lpTemplate,
[in, optional] HWND hWndParent,
[in, optional] DLGPROC lpDialogFunc,
[in] LPARAM dwInitParam
);
Parameter
[in, optional] hInstance
Jenis: HINSTANCE
Handel ke modul yang berisi templat kotak dialog. Jika parameter ini ADALAH NULL, maka executable saat ini digunakan.
[in] lpTemplate
Jenis: LPCDLGTEMPLATE
Templat createDialogIndirectParam menggunakan untuk membuat kotak dialog. Templat kotak dialog terdiri dari header yang menjelaskan kotak dialog, diikuti oleh satu atau beberapa blok data tambahan yang menjelaskan setiap kontrol dalam kotak dialog. Templat dapat menggunakan format standar atau format yang diperluas.
Dalam templat standar, header adalah struktur DLGTEMPLATE diikuti oleh array dengan panjang variabel tambahan. Data untuk setiap kontrol terdiri dari struktur DLGITEMTEMPLATE diikuti oleh array panjang variabel tambahan.
Dalam templat kotak dialog yang diperluas, header menggunakan format DLGTEMPLATEEX dan definisi kontrol menggunakan format DLGITEMTEMPLATEEX .
Setelah CreateDialogIndirectParam kembali, Anda dapat membebaskan templat, yang hanya digunakan untuk memulai kotak dialog.
[in, optional] hWndParent
Jenis: HWND
Handel ke jendela yang memiliki kotak dialog.
[in, optional] lpDialogFunc
Jenis: DLGPROC
Penunjuk ke prosedur kotak dialog. Untuk informasi selengkapnya tentang prosedur kotak dialog, lihat DialogProc.
[in] dwInitParam
Jenis: LPARAM
Nilai yang akan diteruskan ke kotak dialog di parameter lParam dari pesan WM_INITDIALOG .
Mengembalikan nilai
Jenis: HWND
Jika fungsi berhasil, nilai yang dikembalikan adalah handel jendela ke kotak dialog.
Jika fungsi gagal, nilai yang dikembalikan adalah NULL. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Keterangan
Fungsi CreateDialogIndirectParam menggunakan fungsi CreateWindowEx untuk membuat kotak dialog. CreateDialogIndirectParam kemudian mengirim pesan WM_INITDIALOG ke prosedur kotak dialog. Jika templat menentukan gaya DS_SETFONT atau DS_SHELLFONT, fungsi juga mengirim pesan WM_SETFONT ke prosedur kotak dialog. Fungsi menampilkan kotak dialog jika templat menentukan gaya WS_VISIBLE . Terakhir, CreateDialogIndirectParam mengembalikan handel jendela ke kotak dialog.
Setelah CreateDialogIndirectParam kembali, Anda bisa menggunakan fungsi ShowWindow untuk menampilkan kotak dialog (jika belum terlihat). Untuk menghancurkan kotak dialog, gunakan fungsi DestroyWindow . Untuk mendukung navigasi keyboard dan fungsionalitas kotak dialog lainnya, perulangan pesan untuk kotak dialog harus memanggil fungsi IsDialogMessage .
Dalam templat kotak dialog standar, struktur DLGTEMPLATE dan masing-masing struktur DLGITEMTEMPLATE harus diselaraskan pada batas DWORD . Array data pembuatan yang mengikuti struktur DLGITEMTEMPLATE juga harus diselaraskan pada batas DWORD . Semua array panjang variabel lainnya dalam templat harus diratakan pada batas WORD .
Dalam templat kotak dialog yang diperluas, header DLGTEMPLATEEX dan masing-masing definisi kontrol DLGITEMTEMPLATEEX harus diratakan pada batas DWORD . Array data pembuatan, jika ada, yang mengikuti struktur DLGITEMTEMPLATEEX juga harus diselaraskan pada batas DWORD . Semua array panjang variabel lainnya dalam templat harus diratakan pada batas WORD .
Semua string karakter dalam templat kotak dialog, seperti judul untuk kotak dialog dan tombol, harus berupa string Unicode.
Catatan
Header winuser.h mendefinisikan CreateDialogIndirectParam sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.
Persyaratan
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | winuser.h (sertakan Windows.h) |
Pustaka | User32.lib |
DLL | User32.dll |
Set API | ext-ms-win-ntuser-dialogbox-l1-1-0 (diperkenalkan di Windows 8) |
Lihat juga
Konseptual
Sumber Daya Lain
Referensi