Bagikan melalui


Struktur WNDCLASSW (winuser.h)

Berisi atribut kelas jendela yang didaftarkan oleh fungsi RegisterClass.

Struktur ini telah digantikan oleh struktur WNDCLASSEX yang digunakan dengan fungsi RegisterClassEx. Anda masih dapat menggunakan WNDCLASS dan RegisterClass jika Anda tidak perlu mengatur ikon kecil yang terkait dengan kelas jendela.

Sintaksis

typedef struct tagWNDCLASSW {
  UINT      style;
  WNDPROC   lpfnWndProc;
  int       cbClsExtra;
  int       cbWndExtra;
  HINSTANCE hInstance;
  HICON     hIcon;
  HCURSOR   hCursor;
  HBRUSH    hbrBackground;
  LPCWSTR   lpszMenuName;
  LPCWSTR   lpszClassName;
} WNDCLASSW, *PWNDCLASSW, *NPWNDCLASSW, *LPWNDCLASSW;

Anggota

style

Jenis: UINT

Gaya kelas. Anggota ini dapat berupa kombinasi apa pun dariGaya Kelas .

lpfnWndProc

Jenis: WNDPROC

Penunjuk ke prosedur jendela. Anda harus menggunakan fungsi CallWindowProc untuk memanggil prosedur jendela. Untuk informasi selengkapnya, lihat WindowProc.

cbClsExtra

Jenis: int

Jumlah byte tambahan untuk dialokasikan mengikuti struktur kelas jendela. Sistem menginisialisasi byte menjadi nol.

cbWndExtra

Jenis: int

Jumlah byte tambahan untuk dialokasikan setelah instans jendela. Sistem menginisialisasi byte menjadi nol. Jika aplikasi menggunakan WNDCLASS untuk mendaftarkan kotak dialog yang dibuat dengan menggunakan direktif CLASS dalam file sumber daya, itu harus mengatur anggota ini ke DLGWINDOWEXTRA.

hInstance

Jenis: HINSTANCE

Handel ke instans yang berisi prosedur jendela untuk kelas .

hIcon

Jenis: HICON

Handel ke ikon kelas. Anggota ini harus menjadi handel ke sumber daya ikon. Jika anggota ini null, sistem menyediakan ikon default.

hCursor

Jenis: HCURSOR

Handel ke kursor kelas. Anggota ini harus menjadi handel ke sumber daya kursor. Jika anggota ini NULL, aplikasi harus secara eksplisit mengatur bentuk kursor setiap kali mouse bergerak ke jendela aplikasi.

hbrBackground

Jenis: HBRUSH

Handel ke kuas latar belakang kelas. Anggota ini dapat menjadi pegangan ke kuas fisik yang akan digunakan untuk melukis latar belakang, atau bisa menjadi nilai warna. Nilai warna harus salah satu warna sistem standar berikut (nilai 1 harus ditambahkan ke warna yang dipilih). Jika nilai warna diberikan, Anda harus mengonversinya ke salah satu jenis HBRUSH berikut:

  • COLOR_ACTIVEBORDER
  • COLOR_ACTIVECAPTION
  • COLOR_APPWORKSPACE
  • COLOR_BACKGROUND
  • COLOR_BTNFACE
  • COLOR_BTNSHADOW
  • COLOR_BTNTEXT
  • COLOR_CAPTIONTEXT
  • COLOR_GRAYTEXT
  • COLOR_HIGHLIGHT
  • COLOR_HIGHLIGHTTEXT
  • COLOR_INACTIVEBORDER
  • COLOR_INACTIVECAPTION
  • COLOR_MENU
  • COLOR_MENUTEXT
  • COLOR_SCROLLBAR
  • COLOR_WINDOW
  • COLOR_WINDOWFRAME
  • COLOR_WINDOWTEXT
Sistem secara otomatis menghapus kuas latar belakang kelas ketika kelas tidak terdaftar dengan menggunakan UnregisterClass. Aplikasi tidak boleh menghapus kuas ini.

Ketika anggota ini NULL, aplikasi harus melukis latar belakangnya sendiri setiap kali diminta untuk melukis di area kliennya. Untuk menentukan apakah latar belakang harus dicat, aplikasi dapat memproses pesan WM_ERASEBKGND atau menguji anggota fErase struktur PAINTSTRUCT yang diisi oleh fungsi BeginPaint.

lpszMenuName

Jenis: LPCTSTR

Nama sumber daya menu kelas, karena namanya muncul di file sumber daya. Jika Anda menggunakan bilangan bulat untuk mengidentifikasi menu, gunakan makro MAKEINTRESOURCE . Jika anggota ini NULL, jendela milik kelas ini tidak memiliki menu default.

lpszClassName

Jenis: LPCTSTR

Penunjuk ke string yang dihentikan null atau merupakan atom. Jika parameter ini adalah atom, parameter harus berupa atom kelas yang dibuat oleh panggilan sebelumnya ke fungsi RegisterClass atau RegisterClassEx. Atom harus dalam kata urutan rendah lpszClassName; kata urutan tinggi harus nol.

Jika lpszClassName adalah string, itu menentukan nama kelas jendela. Nama kelas dapat berupa nama apa pun yang terdaftar di RegisterClass atau RegisterClassEx, atau salah satu nama kelas kontrol yang telah ditentukan sebelumnya.

Panjang maksimum untuk lpszClassName adalah 256. Jika lpszClassName lebih besar dari panjang maksimum, fungsi RegisterClass akan gagal.

Komentar

Nota

Header winuser.h mendefinisikan WNDCLASS sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosedur 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]
Header winuser.h (termasuk Windows.h)

Lihat juga

BeginPaint

Konseptual

CreateWindow

CreateWindowEx

GetDC

MAKEINTRESOURCE

Sumber Daya Lain

PAINTSTRUCT

Referensi

RegisterClass

UnregisterClass

WM_PAINT

WNDCLASSEX

Kelas Jendela

WindowProc