Bagikan melalui


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.

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.

Lihat juga

Kelas CComControl
Gambaran Umum Kelas