Bagikan melalui


Makro Kelas Jendela

Makro ini menentukan utilitas kelas jendela.

Nama Deskripsi
DECLARE_WND_CLASS Memungkinkan Anda menentukan nama kelas jendela baru.
DECLARE_WND_CLASS2 (Visual Studio 2017) Memungkinkan Anda menentukan nama kelas jendela baru dan kelas penutup yang prosedur jendelanya akan digunakan kelas baru.
DECLARE_WND_SUPERCLASS Memungkinkan Anda menentukan nama kelas jendela yang ada di mana kelas jendela baru akan didasarkan.
DECLARE_WND_CLASS_EX Memungkinkan Anda menentukan parameter kelas.

Persyaratan

Header: atlwin.h

DECLARE_WND_CLASS

Memungkinkan Anda menentukan nama kelas jendela baru. Tempatkan makro ini di kelas kontrol kontrol ATL ActiveX.

DECLARE_WND_CLASS( WndClassName )

Parameter

WndClassName
[di] Nama kelas jendela baru. Jika NULL, ATL akan menghasilkan nama kelas jendela.

Keterangan

Jika Anda menggunakan opsi pengkompilasi /permisif, maka DECLARE_WND_CLASS akan menyebabkan kesalahan kompilator; gunakan DECLARE_WND_CLASS2 sebagai gantinya.

DECLARE_WND_CLASS memungkinkan Anda menentukan nama kelas jendela baru yang informasinya akan dikelola oleh CWndClassInfo. DECLARE_WND_CLASS mendefinisikan kelas jendela baru dengan menerapkan fungsi statis berikut:

static CWndClassInfo& GetWndClassInfo();

DECLARE_WND_CLASS menentukan gaya berikut untuk jendela baru:

  • CS_HREDRAW

  • CS_VREDRAW

  • CS_DBLCLKS

DECLARE_WND_CLASS juga menentukan warna latar belakang jendela default. Gunakan makro DECLARE_WND_CLASS_EX untuk menyediakan gaya dan warna latar belakang Anda sendiri.

CWindowImpl menggunakan makro DECLARE_WND_CLASS untuk membuat jendela berdasarkan kelas jendela baru. Untuk mengambil alih perilaku ini, gunakan makro DECLARE_WND_SUPERCLASS , atau berikan implementasi Anda sendiri dari fungsi GetWndClassInfo .

Untuk informasi selengkapnya tentang menggunakan jendela di ATL, lihat artikel Atl Window Classes.

DECLARE_WND_CLASS2

(Visual Studio 2017) Mirip dengan DECLARE_WND_CLASS, tetapi dengan parameter tambahan yang menghindari kesalahan nama dependen saat mengkompilasi dengan opsi /permissive- .

DECLARE_WND_CLASS2( WndClassName, EnclosingClass )

Parameter

WndClassName
[di] Nama kelas jendela baru. Jika NULL, ATL akan menghasilkan nama kelas jendela.

EnclosingClass
[di] Nama kelas jendela yang mengapit kelas jendela baru. Tidak boleh NULL.

Keterangan

Jika Anda menggunakan opsi /permisif- , maka DECLARE_WND_CLASS akan menyebabkan kesalahan kompilasi karena berisi nama dependen. DECLARE_WND_CLASS2 mengharuskan Anda untuk secara eksplisit memberi nama kelas tempat makro ini digunakan dan tidak menyebabkan kesalahan di bawah bendera /permisif- . Jika tidak, makro ini identik dengan DECLARE_WND_CLASS.

DECLARE_WND_SUPERCLASS

Memungkinkan Anda menentukan parameter kelas. Tempatkan makro ini di kelas kontrol kontrol ATL ActiveX.

DECLARE_WND_SUPERCLASS( WndClassName, OrigWndClassName )

Parameter

WndClassName
[di] Nama kelas jendela yang akan superclass OrigWndClassName. Jika NULL, ATL akan menghasilkan nama kelas jendela.

OrigWndClassName
[di] Nama kelas jendela yang ada.

Keterangan

Makro ini memungkinkan Anda menentukan nama kelas jendela yang akan superclass kelas jendela yang ada. CWndClassInfo mengelola informasi superclass.

DECLARE_WND_SUPERCLASS mengimplementasikan fungsi statis berikut:

static CWndClassInfo& GetWndClassInfo();

Secara default, CWindowImpl menggunakan makro DECLARE_WND_CLASS untuk membuat jendela berdasarkan kelas jendela baru. Dengan menentukan makro DECLARE_WND_SUPERCLASS di CWindowImplkelas -turunan, kelas jendela akan didasarkan pada kelas yang ada tetapi akan menggunakan prosedur jendela Anda. Teknik ini disebut superclassing.

Selain menggunakan makro DECLARE_WND_CLASS dan DECLARE_WND_SUPERCLASS, Anda dapat mengambil alih fungsi GetWndClassInfo dengan implementasi Anda sendiri.

Untuk informasi selengkapnya tentang menggunakan jendela di ATL, lihat artikel Atl Window Classes.

DECLARE_WND_CLASS_EX

Memungkinkan Anda menentukan nama kelas jendela yang ada di mana kelas jendela baru akan didasarkan. Tempatkan makro ini di kelas kontrol kontrol ATL ActiveX.

DECLARE_WND_CLASS_EX( WndClassName, style, bkgnd )

Parameter

WndClassName
[di] Nama kelas jendela baru. Jika NULL, ATL akan menghasilkan nama kelas jendela.

gaya
[di] Gaya jendela.

bkgnd
[di] Warna latar belakang jendela.

Keterangan

Makro ini memungkinkan Anda menentukan parameter kelas kelas jendela baru, yang informasinya akan dikelola oleh CWndClassInfo. DECLARE_WND_CLASS_EX mendefinisikan kelas jendela baru dengan menerapkan fungsi statis berikut:

static CWndClassInfo& GetWndClassInfo();

Jika Anda ingin menggunakan gaya default dan warna latar belakang, gunakan makro DECLARE_WND_CLASS . Untuk informasi selengkapnya tentang menggunakan jendela di ATL, lihat artikel Atl Window Classes.

Lihat juga

Macro