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 CWindowImpl
kelas -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.