Struktur WNDCLASSA (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.

Sintaks

typedef struct tagWNDCLASSA {
  UINT      style;
  WNDPROC   lpfnWndProc;
  int       cbClsExtra;
  int       cbWndExtra;
  HINSTANCE hInstance;
  HICON     hIcon;
  HCURSOR   hCursor;
  HBRUSH    hbrBackground;
  LPCSTR    lpszMenuName;
  LPCSTR    lpszClassName;
} WNDCLASSA, *PWNDCLASSA, *NPWNDCLASSA, *LPWNDCLASSA;

Anggota

style

Jenis: UINT

Gaya kelas. Anggota ini bisa menjadi kombinasi apa pun dari Gaya 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 ke nol.

cbWndExtra

Jenis: int

Jumlah byte tambahan untuk dialokasikan setelah instans jendela. Sistem menginisialisasi byte ke nol. Jika aplikasi menggunakan WNDCLASS untuk mendaftarkan kotak dialog yang dibuat dengan menggunakan direktif CLASS dalam file sumber daya, aplikasi 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 pegangan ke sumber daya ikon. Jika anggota ini NULL, sistem menyediakan ikon default.

hCursor

Jenis: HCURSOR

Handel ke kursor kelas. Anggota ini harus menangani 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 bisa menjadi pegangan pada kuas fisik yang akan digunakan untuk melukis latar belakang, atau bisa menjadi nilai warna. Nilai warna harus merupakan salah satu warna sistem standar berikut (nilai 1 harus ditambahkan ke warna yang dipilih). Jika nilai warna diberikan, Anda harus mengonversinya menjadi 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 saat 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, saat nama 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 dari lpszClassName; kata urutan tinggi harus nol.

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

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

Keterangan

Catatan

Header winuser.h mendefinisikan WNDCLASS 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

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Header winuser.h (sertakan Windows.h)

Lihat juga

BeginPaint

Konseptual

CreateWindow

CreateWindowEx

GetDC

MAKEINTRESOURCE

Sumber Daya Lain

STRUKTUR CAT

Referensi

RegisterClass

Batalkan pendaftaranClass

WM_PAINT

WNDCLASSEX

Kelas Jendela

WindowProc