Fungsi MessageBoxA (winuser.h)
Menampilkan kotak dialog modal yang berisi ikon sistem, sekumpulan tombol, dan pesan khusus aplikasi singkat, seperti status atau informasi kesalahan. Kotak pesan mengembalikan nilai bilangan bulat yang menunjukkan tombol mana yang diklik pengguna.
Sintaksis
int MessageBoxA(
[in, optional] HWND hWnd,
[in, optional] LPCSTR lpText,
[in, optional] LPCSTR lpCaption,
[in] UINT uType
);
Parameter
[in, optional] hWnd
Jenis: HWND
Handel ke jendela pemilik kotak pesan yang akan dibuat. Jika parameter ini NULL, kotak pesan tidak memiliki jendela pemilik.
[in, optional] lpText
Jenis:
Pesan yang akan ditampilkan. Jika string terdiri dari lebih dari satu baris, Anda dapat memisahkan garis menggunakan karakter pengembalian gerbong dan/atau linefeed di antara setiap baris.
[in, optional] lpCaption
Jenis:
Judul kotak dialog. Jika parameter ini NULL , judul defaultnya adalah Kesalahan.
[in] uType
Jenis: UINT
Konten dan perilaku kotak dialog. Parameter ini bisa menjadi kombinasi bendera dari grup bendera berikut.
Untuk menunjukkan tombol yang ditampilkan dalam kotak pesan, tentukan salah satu nilai berikut.
Untuk menampilkan ikon dalam kotak pesan, tentukan salah satu nilai berikut.
Untuk menunjukkan tombol default, tentukan salah satu nilai berikut.
Untuk menunjukkan modalitas kotak dialog, tentukan salah satu nilai berikut.
Untuk menentukan opsi lain, gunakan satu atau beberapa nilai berikut.
Nilai | Arti |
---|---|
|
Sama seperti desktop stasiun jendela interaktif. Untuk informasi selengkapnya, lihat Window Stations.
Jika desktop input saat ini bukan desktop default, MessageBox tidak kembali hingga pengguna beralih ke desktop default. |
|
Teks dibenarkan kanan. |
|
Menampilkan teks pesan dan keterangan menggunakan urutan baca kanan-ke-kiri pada sistem Ibrani dan Arab. |
|
Kotak pesan menjadi jendela latar depan. Secara internal, sistem memanggil fungsi |
|
Kotak pesan dibuat dengan gaya jendela WS_EX_TOPMOST. |
|
Pemanggil adalah layanan yang memberi tahu pengguna tentang suatu peristiwa. Fungsi ini menampilkan kotak pesan pada desktop aktif saat ini, bahkan jika tidak ada pengguna yang masuk ke komputer.
Layanan Terminal: Jika utas panggilan memiliki token peniruan, fungsi mengarahkan kotak pesan ke sesi yang ditentukan dalam token peniruan. Jika bendera ini diatur, parameter Untuk informasi tentang pertimbangan keamanan sehubungan dengan penggunaan bendera ini, lihat Interactive Services. Secara khusus, ketahuilah bahwa bendera ini dapat menghasilkan konten interaktif pada desktop terkunci dan oleh karena itu harus digunakan hanya untuk serangkaian skenario yang sangat terbatas, seperti kelelahan sumber daya. |
Mengembalikan nilai
Jenis: int
Jika kotak pesan memiliki tombol batalkan
Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError.
Jika fungsi berhasil, nilai yang dikembalikan adalah salah satu nilai item menu berikut.
Mengembalikan kode/nilai | Deskripsi |
---|---|
|
Tombol Batalkan dipilih. |
|
Tombol Batalkan dipilih. |
|
Tombol Lanjutkan dipilih. |
|
Tombol Abaikan |
|
Tombol Tidak ada yang dipilih. |
|
Tombol OK |
|
Tombol Coba Lagi dipilih. |
|
Tombol Coba Lagi dipilih. |
|
Tombol Ya dipilih. |
Komentar
Ikon sistem berikut dapat digunakan dalam kotak pesan dengan mengatur parameter uType ke nilai bendera yang sesuai.
Ikon | Bendera nilai |
---|---|
Ikon ![]() |
MB_ICONHAND, MB_ICONSTOP, atau MB_ICONERROR |
Ikon ![]() |
MB_ICONQUESTION |
Ikon ![]() |
MB_ICONEXCLAMATION atau MB_ICONWARNING |
Ikon ![]() |
MB_ICONASTERISK atau MB_ICONINFORMATION |
Menambahkan dua tanda kanan-ke-kiri (RLM), yang diwakili oleh karakter pemformatan Unicode U+200F, di awal string tampilan MessageBox ditafsirkan oleh mesin penyajian MessageBox sehingga menyebabkan urutan pembacaan MessageBox dirender sebagai kanan-ke-kiri (RTL).
Saat Anda menggunakan kotak pesan modal sistem untuk menunjukkan bahwa sistem kehabisan memori, string yang ditunjukkan oleh lpText
Jika Anda membuat kotak pesan saat kotak dialog ada, gunakan handel ke kotak dialog sebagai parameter
Contoh
Dalam contoh berikut, aplikasi menampilkan kotak pesan yang meminta tindakan kepada pengguna setelah kondisi kesalahan terjadi. Kotak pesan menampilkan pesan yang menjelaskan kondisi kesalahan dan cara mengatasinya. Gaya MB_CANCELTRYCONTINUE mengarahkan MessageBox untuk menyediakan tiga tombol yang dapat dipilih pengguna untuk melanjutkan. Gaya MB_DEFBUTTON2 mengatur fokus default pada tombol kedua kotak pesan, dalam hal ini, tombol Coba Lagi.
int DisplayResourceNAMessageBox()
{
int msgboxID = MessageBox(
NULL,
(LPCWSTR)L"Resource not available\nDo you want to try again?",
(LPCWSTR)L"Account Details",
MB_ICONWARNING | MB_CANCELTRYCONTINUE | MB_DEFBUTTON2
);
switch (msgboxID)
{
case IDCANCEL:
// TODO: add code
break;
case IDTRYAGAIN:
// TODO: add code
break;
case IDCONTINUE:
// TODO: add code
break;
}
return msgboxID;
}
Gambar berikut menunjukkan output dari contoh kode sebelumnya:
kotak PesanUntuk contoh kotak pesan lain, lihat Menampilkan Kotak Pesan.
Nota
Header winuser.h mendefinisikan MessageBox sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprosedur 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
Syarat | Nilai |
---|---|
klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
server minimum yang didukung |
Windows 2000 Server [hanya aplikasi desktop] |
Platform Target |
Windows |
Header |
winuser.h (termasuk 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
Kotak Dialog
Sumber Daya Lain
Referensi