Membuat makro CreateWindowW (winuser.h)
Membuat jendela tumpang tindih, pop-up, atau anak. Ini menentukan kelas jendela, judul jendela, gaya jendela, dan (opsional) posisi awal dan ukuran jendela. Fungsi ini juga menentukan induk atau pemilik jendela, jika ada, dan menu jendela.
Untuk menggunakan gaya jendela yang diperluas selain gaya yang didukung oleh
Sintaksis
HWND CreateWindowW(
[in, optional] LPCWSTR lpClassName,
[in, optional] LPCWSTR lpWindowName,
[in] DWORD dwStyle,
[in] int x,
[in] int y,
[in] int nWidth,
[in] int nHeight,
[in, optional] HWND hWndParent,
[in, optional] HMENU hMenu,
[in, optional] HINSTANCE hInstance,
[in, optional] LPVOID lpParam
);
Parameter
[in, optional] lpClassName
Jenis:
Stringnull
[in, optional] lpWindowName
Jenis:
Nama jendela. Jika gaya jendela menentukan bilah judul, judul jendela yang ditunjukkan oleh lpWindowName ditampilkan di bilah judul. Saat menggunakan CreateWindow untuk membuat kontrol, seperti tombol, kotak centang, dan kontrol statis, gunakan lpWindowName untuk menentukan teks kontrol. Saat membuat kontrol statis dengan gaya SS_ICON, gunakan lpWindowName untuk menentukan nama ikon atau pengidentifikasi. Untuk menentukan pengidentifikasi, gunakan sintaks "#num".
[in] dwStyle
Jenis: DWORD
Gaya jendela yang sedang dibuat. Parameter ini dapat berupa kombinasi nilai gaya jendela , ditambah gaya kontrol yang ditunjukkan di bagian Keterangan.
[in] x
Jenis: int
Posisi horizontal awal jendela. Untuk jendela pop-up yang tumpang tindih atau tumpang tindih, parameter x adalah koordinat x awal sudut kiri atas jendela, dalam koordinat layar. Untuk jendela anak, x adalah koordinat x sudut kiri atas jendela relatif terhadap sudut kiri atas area klien jendela induk. Jika parameter ini diatur ke CW_USEDEFAULT, sistem memilih posisi default untuk sudut kiri atas jendela dan mengabaikan parameter y. CW_USEDEFAULT hanya berlaku untuk jendela yang tumpang tindih; jika ditentukan untuk jendela pop-up atau anak, parameter x dan y diatur ke nol.
[in] y
Jenis: int
Posisi vertikal awal jendela. Untuk jendela pop-up yang tumpang tindih atau tumpang tindih, parameter y adalah koordinat y awal sudut kiri atas jendela, dalam koordinat layar. Untuk jendela anak, y adalah koordinat y awal sudut kiri atas jendela anak relatif terhadap sudut kiri atas area klien jendela induk. Untuk kotak daftar, y adalah koordinat y awal dari sudut kiri atas area klien kotak daftar relatif terhadap sudut kiri atas area klien jendela induk.
Jika jendela yang tumpang tindih dibuat dengan set bit gaya WS_VISIBLE dan parameter x diatur ke CW_USEDEFAULT, parameter y menentukan bagaimana jendela ditampilkan. Jika parameter
[in] nWidth
Jenis: int
Lebar, dalam unit perangkat, dari jendela. Untuk jendela yang tumpang tindih, nWidth adalah lebar jendela, dalam koordinat layar, atau CW_USEDEFAULT. Jika nWidthCW_USEDEFAULT, sistem memilih lebar dan tinggi default untuk jendela; lebar default meluas dari koordinat x awal ke tepi kanan layar, dan tinggi default meluas dari koordinat y awal ke bagian atas area ikon. CW_USEDEFAULT hanya berlaku untuk jendela yang tumpang tindih; jika CW_USEDEFAULT ditentukan untuk jendela pop-up atau turunan, nWidth dan nHeight diatur ke nol.
[in] nHeight
Jenis: int
Tinggi, di unit perangkat, dari jendela. Untuk jendela yang tumpang tindih, nHeight adalah tinggi jendela, dalam koordinat layar. Jika nWidth diatur ke CW_USEDEFAULT, sistem mengabaikan nHeight.
[in, optional] hWndParent
Jenis: HWND
Handel ke jendela induk atau pemilik jendela yang sedang dibuat. Untuk membuat jendela anak atau jendela yang dimiliki, berikan handel jendela yang valid. Parameter ini bersifat opsional untuk jendela pop-up.
Untuk membuat jendela khusus pesan , berikan HWND_MESSAGE atau handel ke jendela khusus pesan yang ada.
[in, optional] hMenu
Jenis: HMENU
Handel ke menu, atau menentukan pengidentifikasi jendela anak bergantung pada gaya jendela. Untuk jendela pop-up atau tumpang tindih, hMenu mengidentifikasi menu yang akan digunakan dengan jendela; dapat NULL jika menu kelas akan digunakan. Untuk jendela anak, hMenu menentukan pengidentifikasi jendela turunan, nilai bilangan bulat yang digunakan oleh kontrol kotak dialog untuk memberi tahu induknya tentang peristiwa. Aplikasi menentukan pengidentifikasi jendela anak; harus unik untuk semua jendela anak dengan jendela induk yang sama.
[in, optional] hInstance
Jenis: HINSTANCE
Handel ke instans modul yang akan dikaitkan dengan jendela.
[in, optional] lpParam
Jenis:
Penunjuk ke nilai yang akan diteruskan ke jendela melalui struktur
Jika aplikasi memanggil CreateWindow untuk membuat jendela klien MDI, lpParam harus menunjuk ke struktur CLIENTCREATESTRUCT. Jika jendela klien MDI memanggil
Mengembalikan nilai
Jenis: HWND
Jika fungsi berhasil, nilai yang dikembalikan adalah handel ke jendela baru.
Jika fungsi gagal, nilai yang dikembalikan adalah NULL. Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError.
Komentar
Sebelum kembali, CreateWindow mengirim pesan WM_CREATE ke prosedur jendela. Untuk jendela yang tumpang tindih, pop-up, dan anak, CreateWindow mengirim pesan WM_CREATE, WM_GETMINMAXINFO, dan WM_NCCREATE ke jendela. Parameter
Jika jendela yang dibuat adalah jendela anak, posisi defaultnya berada di bagian bawah urutan Z. Jika jendela yang dibuat adalah jendela tingkat atas, posisi defaultnya berada di bagian atas urutan Z (tetapi di bawah semua jendela paling atas kecuali jendela yang dibuat sendiri paling atas).
Untuk informasi tentang mengontrol apakah Bilah Tugas menampilkan tombol untuk jendela yang dibuat, lihat Mengelola Tombol Bilah Tugas.
Untuk informasi tentang menghapus jendela, lihat fungsi
Kelas sistem yang telah ditentukan sebelumnya berikut dapat ditentukan dalam parameter lpClassName. Perhatikan gaya kontrol terkait yang dapat Anda gunakan dalam parameter
Kelas sistem | Arti |
---|---|
TOMBOL |
Menunjuk jendela anak persegi kecil yang mewakili tombol yang dapat diklik pengguna untuk mengaktifkan atau menonaktifkannya. Kontrol tombol dapat digunakan sendiri atau dalam grup, dan dapat diberi label atau muncul tanpa teks. Kontrol tombol biasanya mengubah tampilan saat pengguna mengkliknya. Untuk informasi selengkapnya, lihat tombol
Untuk tabel gaya tombol yang dapat Anda tentukan dalam parameter |
COMBOBOX |
Menunjuk kontrol yang terdiri dari kotak daftar dan bidang pilihan yang mirip dengan kontrol edit. Saat menggunakan gaya ini, aplikasi harus menampilkan kotak daftar setiap saat atau mengaktifkan kotak daftar drop-down. Jika kotak daftar terlihat, mengetik karakter ke dalam bidang pilihan menyoroti entri kotak daftar pertama yang cocok dengan karakter yang dititik. Sebaliknya, memilih item dalam kotak daftar menampilkan teks yang dipilih di bidang pilihan.
Untuk informasi selengkapnya, lihat Combo Boxes. Untuk tabel gaya kotak kombo yang bisa Anda tentukan dalam parameter |
EDIT |
Menunjuk jendela anak persegi panjang tempat pengguna dapat mengetik teks dari keyboard. Pengguna memilih kontrol dan memberinya fokus keyboard dengan mengkliknya atau memindahkannya dengan menekan tombol TAB. Pengguna dapat mengetik teks saat kontrol edit menampilkan tanda sisipan yang berkedip; gunakan mouse untuk memindahkan kursor, memilih karakter yang akan diganti, atau memosisikan kursor untuk menyisipkan karakter; atau gunakan kunci BACKSPACE untuk menghapus karakter. Untuk informasi selengkapnya, lihat Edit Kontrol.
Untuk tabel gaya kontrol edit yang bisa Anda tentukan dalam parameter |
|
Menunjuk daftar string karakter. Tentukan kontrol ini setiap kali aplikasi harus menyajikan daftar nama, seperti nama file, tempat pengguna dapat memilih. Pengguna dapat memilih string dengan mengkliknya. String yang dipilih disorot, dan pesan pemberitahuan diteruskan ke jendela induk. Untuk informasi selengkapnya, lihat Kotak Daftar.
Untuk tabel gaya kotak daftar yang bisa Anda tentukan dalam parameter |
MDICLIENT |
Menunjuk jendela klien MDI. Jendela ini menerima pesan yang mengontrol jendela anak aplikasi MDI. Bit gaya yang direkomendasikan adalah WS_CLIPCHILDREN dan WS_CHILD. Tentukan gaya WS_HSCROLL dan WS_VSCROLL untuk membuat jendela klien MDI yang memungkinkan pengguna menggulir jendela anak MDI ke tampilan.
Untuk informasi selengkapnya, lihat Beberapa Antarmuka Dokumen. |
RichEdit |
Menunjuk kontrol Microsoft Rich Edit 1.0. Jendela ini memungkinkan pengguna melihat dan mengedit teks dengan pemformatan karakter dan paragraf, dan dapat menyertakan objek Model Objek Komponen (COM) yang disematkan. Untuk informasi selengkapnya, lihat Kontrol Edit Kaya.
Untuk tabel gaya kontrol edit kaya yang bisa Anda tentukan dalam parameter |
RICHEDIT_CLASS |
Menunjuk kontrol Microsoft Rich Edit 2.0. Kontrol ini memungkinkan pengguna melihat dan mengedit teks dengan pemformatan karakter dan paragraf, dan dapat menyertakan objek COM yang disematkan. Untuk informasi selengkapnya, lihat Kontrol Edit Kaya.
Untuk tabel gaya kontrol edit kaya yang bisa Anda tentukan dalam parameter |
|
Menunjuk persegi panjang yang berisi kotak gulir dan memiliki panah arah di kedua ujungnya. Bilah gulir mengirim pesan pemberitahuan ke jendela induknya setiap kali pengguna mengklik kontrol. Jendela induk bertanggung jawab untuk memperbarui posisi kotak gulir, jika perlu. Untuk informasi selengkapnya, lihat bilah Gulir .
Untuk tabel gaya kontrol bilah gulir yang bisa Anda tentukan dalam parameter |
STATIS |
Menunjuk bidang teks, kotak, atau persegi panjang sederhana yang digunakan untuk memberi label, kotak, atau memisahkan kontrol lainnya. Kontrol statis tidak mengambil input dan tidak memberikan output. Untuk informasi selengkapnya, lihat Kontrol Statis.
Untuk tabel gaya kontrol statis yang dapat Anda tentukan dalam parameter |
#define CreateWindowA(lpClassName, lpWindowName, dwStyle, x, y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)\
CreateWindowExA(0L, lpClassName, lpWindowName, dwStyle, x, y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)
#define CreateWindowW(lpClassName, lpWindowName, dwStyle, x, y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)\
CreateWindowExW(0L, lpClassName, lpWindowName, dwStyle, x, y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)
#ifdef UNICODE
#define CreateWindow CreateWindowW
#else
#define CreateWindow CreateWindowA
#endif
Contoh
Misalnya, lihat Menggunakan Kelas Jendela.
Nota
Header winuser.h mendefinisikan CreateWindow 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) |
Lihat juga
Tentang Antarmuka Beberapa Dokumen
Kelas Jendela Kontrol Umum
Konseptual
Sumber Daya Lain
Referensi