Kelas CWndClassInfo
Kelas ini menyediakan metode untuk mendaftarkan informasi untuk kelas jendela.
Penting
Kelas ini dan anggotanya tidak dapat digunakan dalam aplikasi yang dijalankan di Windows Runtime.
Sintaks
class CWndClassInfo
Anggota
Metode Publik
Nama | Deskripsi |
---|---|
Daftar | Mendaftarkan kelas jendela. |
Anggota Data
Nama | Deskripsi |
---|---|
m_atom | Secara unik mengidentifikasi kelas jendela terdaftar. |
m_bSystemCursor | Menentukan apakah sumber daya kursor mengacu pada kursor sistem atau ke kursor yang terkandung dalam sumber daya modul. |
m_lpszCursorID | Menentukan nama sumber daya kursor. |
m_lpszOrigName | Berisi nama kelas jendela yang ada. |
m_szAutoName | Menyimpan nama kelas jendela yang dihasilkan ATL. |
m_wc | Mempertahankan informasi kelas jendela dalam WNDCLASSEX struktur. |
pWndProc | Menunjuk ke prosedur jendela kelas jendela yang ada. |
Keterangan
CWndClassInfo
mengelola informasi kelas jendela. Anda biasanya menggunakan CWndClassInfo
salah satu dari tiga makro, DECLARE_WND_CLASS, DECLARE_WND_CLASS_EX, atau DECLARE_WND_SUPERCLASS, seperti yang dijelaskan dalam tabel berikut:
Makro | Deskripsi |
---|---|
DECLARE_WND_CLASS | CWndClassInfo mendaftarkan informasi untuk kelas jendela baru. |
DECLARE_WND_CLASS_EX | CWndClassInfo mendaftarkan informasi untuk kelas jendela baru, termasuk parameter kelas. |
DECLARE_WND_SUPERCLASS | CWndClassInfo mendaftarkan informasi untuk kelas jendela yang didasarkan pada kelas yang ada tetapi menggunakan prosedur jendela yang berbeda. Teknik ini disebut superclassing. |
Secara default, CWindowImpl menyertakan DECLARE_WND_CLASS
makro untuk membuat jendela berdasarkan kelas jendela baru. DECLARE_WND_CLASS menyediakan gaya default dan warna latar belakang untuk kontrol. Jika Anda ingin menentukan sendiri gaya dan warna latar belakang, dapatkan kelas Anda dari CWindowImpl
dan sertakan makro DECLARE_WND_CLASS_EX dalam definisi kelas Anda.
Jika Anda ingin membuat jendela berdasarkan kelas jendela yang ada, dapatkan kelas Anda dari CWindowImpl
dan sertakan makro DECLARE_WND_SUPERCLASS dalam definisi kelas Anda. Contohnya:
class ATL_NO_VTABLE CMyWindow :
OtherInheritedClasses
public CComControl<CMyWindow>
// CComControl derives from CWindowImpl
{
public:
// 1. The NULL parameter means ATL will generate a
// name for the superclass
// 2. The "EDIT" parameter means the superclass is
// based on the standard Windows Edit box
DECLARE_WND_SUPERCLASS(NULL, _T("EDIT"))
// Remainder of class declaration omitted
Untuk informasi selengkapnya tentang kelas jendela, lihat Kelas Jendela di Windows SDK.
Untuk informasi selengkapnya tentang menggunakan jendela di ATL, lihat artikel Atl Window Classes.
Persyaratan
Header: atlwin.h
CWndClassInfo::m_atom
Berisi pengidentifikasi unik untuk kelas jendela terdaftar.
ATOM m_atom;
CWndClassInfo::m_bSystemCursor
Jika TRUE, sumber daya kursor sistem akan dimuat saat kelas jendela terdaftar.
BOOL m_bSystemCursor;
Keterangan
Jika tidak, sumber daya kursor yang terkandung dalam modul Anda akan dimuat.
CWndClassInfo
m_bSystemCursor
hanya digunakan saat DECLARE_WND_CLASS (default di CWindowImpl) atau makro DECLARE_WND_CLASS_EX ditentukan. Dalam hal ini, m_bSystemCursor
diinisialisasi ke TRUE. Untuk informasi selengkapnya, lihat gambaran umum CWndClassInfo .
CWndClassInfo::m_lpszCursorID
Menentukan nama sumber daya kursor atau pengidentifikasi sumber daya dalam kata berurutan rendah dan nol dalam kata berurutan tinggi.
LPCTSTR m_lpszCursorID;
Keterangan
Ketika kelas jendela terdaftar, handel ke kursor yang diidentifikasi oleh m_lpszCursorID
diambil dan disimpan oleh m_wc.
CWndClassInfo
m_lpszCursorID
hanya digunakan saat DECLARE_WND_CLASS (default di CWindowImpl) atau makro DECLARE_WND_CLASS_EX ditentukan. Dalam hal ini, m_lpszCursorID
diinisialisasi untuk IDC_ARROW. Untuk informasi selengkapnya, lihat gambaran umum CWndClassInfo .
CWndClassInfo::m_lpszOrigName
Berisi nama kelas jendela yang ada.
LPCTSTR m_lpszOrigName;
Keterangan
CWndClassInfo
m_lpszOrigName
hanya digunakan saat Anda menyertakan makro DECLARE_WND_SUPERCLASS dalam definisi kelas Anda. Dalam hal ini, CWndClassInfo
mendaftarkan kelas jendela berdasarkan kelas yang dinamai oleh m_lpszOrigName
. Untuk informasi selengkapnya, lihat gambaran umum CWndClassInfo .
CWndClassInfo::m_szAutoName
Menyimpan nama kelas jendela.
TCHAR m_szAutoName[13];
Keterangan
CWndClassInfo
m_szAutoName
hanya menggunakan jika NULL diteruskan untuk parameter ke WndClassName
DECLARE_WND_CLASS, DECLARE_WND_CLASS_EX, atau DECLARE_WND_SUPERCLASS. ATL akan membuat nama ketika kelas jendela terdaftar.
CWndClassInfo::m_wc
Mempertahankan informasi kelas jendela dalam struktur WNDCLASSEX .
WNDCLASSEX m_wc;
Keterangan
Jika Anda telah menentukan DECLARE_WND_CLASS (default di CWindowImpl) atau makro DECLARE_WND_CLASS_EX , m_wc
berisi informasi tentang kelas jendela baru.
Jika Anda telah menentukan makro DECLARE_WND_SUPERCLASS , m_wc
berisi informasi tentang superkelas — kelas jendela yang didasarkan pada kelas yang ada tetapi menggunakan prosedur jendela yang berbeda. m_lpszOrigName dan pWndProc masing-masing menyimpan nama dan prosedur jendela kelas jendela yang ada.
CWndClassInfo::p WndProc
Menunjuk ke prosedur jendela kelas jendela yang ada.
WNDPROC pWndProc;
Keterangan
CWndClassInfo
pWndProc
hanya digunakan saat Anda menyertakan makro DECLARE_WND_SUPERCLASS dalam definisi kelas Anda. Dalam hal ini, CWndClassInfo
mendaftarkan kelas jendela yang didasarkan pada kelas yang ada tetapi menggunakan prosedur jendela yang berbeda. Prosedur jendela kelas jendela yang ada disimpan di pWndProc
. Untuk informasi selengkapnya, lihat gambaran umum CWndClassInfo .
CWndClassInfo::Register
Dipanggil oleh CWindowImpl::Buat untuk mendaftarkan kelas jendela jika belum terdaftar.
ATOM Register(WNDPROC* pProc);
Parameter
pProc
[out] Menentukan prosedur jendela asli dari kelas jendela yang ada.
Tampilkan Nilai
Jika berhasil, atom yang secara unik mengidentifikasi kelas jendela yang didaftarkan. Jika tidak, 0.
Keterangan
Jika Anda telah menentukan DECLARE_WND_CLASS (default di CWindowImpl) atau makro DECLARE_WND_CLASS_EX , Register
mendaftarkan kelas jendela baru. Dalam hal ini, parameter pProc tidak digunakan.
Jika Anda telah menentukan makro DECLARE_WND_SUPERCLASS , Register
mendaftarkan superclass — kelas jendela yang didasarkan pada kelas yang ada tetapi menggunakan prosedur jendela yang berbeda. Prosedur jendela kelas jendela yang ada dikembalikan dalam pProc.