Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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.
CWndClassInfom_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.
CWndClassInfom_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
CWndClassInfom_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
CWndClassInfom_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
CWndClassInfopWndProc 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.