Sdílet prostřednictvím


Objekty oken

MFC poskytuje třídu CWnd k zapouzdření HWND úchytu okna. Objekt CWnd je objekt okna C++, který se liší od objektu HWND , který představuje okno Systému Windows, ale obsahuje ho. Slouží CWnd k odvození vlastních podřízených tříd oken nebo použití jedné z mnoha tříd MFC odvozených z CWnd. Třída CWnd je základní třídou pro všechna okna, včetně oken s rámečkem, dialogových oken, podřízených oken, ovládacích prvků a řídicích pruhů, jako jsou panely nástrojů. Dobré porozumění vztahu mezi objektem okna C++ a HWND je zásadní pro efektivní programování pomocí MFC.

MFC poskytuje některé výchozí funkce a správu oken, ale můžete odvodit vlastní třídu a CWnd použít její členské funkce k přizpůsobení poskytované funkce. Podřízená okna můžete vytvořit tak, že vytvoříte CWnd objekt a zavoláte jeho funkci Vytvořit člena a potom přizpůsobíte podřízená okna pomocí CWnd členských funkcí. Objekty odvozené z objektu CView, například zobrazení formuláře nebo stromové zobrazení, můžete vložit do okna rámečku. A můžete podporovat více zobrazení dokumentů prostřednictvím příček rozdělovačů, které poskytuje třída CSplitterWnd.

Každý objekt odvozený z třídy CWnd obsahuje mapu zpráv, prostřednictvím které můžete mapovat zprávy systému Windows nebo ID příkazů na vlastní obslužné rutiny.

Obecná literatura k programování pro Windows je dobrým zdrojem informací o tom, jak používat CWnd členské funkce, které zapouzdřují HWND rozhraní API.

Funkce pro provoz na CWnd

CWnd a jeho odvozené třídy okna poskytují konstruktory, destruktory a členské funkce pro inicializaci objektu, vytvoření základních struktur Windows a přístup k zapouzdřené HWND. CWnd poskytuje také členské funkce, které zapouzdřují rozhraní API systému Windows pro odesílání zpráv, přístup ke stavu okna, převod souřadnic, aktualizace, posouvání, přístup ke schránce a mnoho dalších úloh. Většina rozhraní API pro správu oken systému Windows, která přebírají HWND argument, jsou zapouzdřena jako členské funkce CWnd. Názvy funkcí a jejich parametrů se zachovají v CWnd členské funkci. Podrobnosti o rozhraních API systému Windows zapouzdřené pomocí CWndtřídy CWnd.

Zprávy CWnd a Windows

Jedním z hlavních účelů CWnd je poskytnout rozhraní pro zpracování zpráv systému Windows, jako jsou WM_PAINT nebo WM_MOUSEMOVE. Mnoho členských funkcí CWnd jsou obslužné rutiny pro standardní zprávy – ty, které začínají identifikátorem afx_msg a předponou "Zapnuto", například OnPaint a OnMouseMove. Zpracování a mapování zpráv podrobně popisuje zprávy a zpracování zpráv. Tyto informace platí stejně pro okna architektury a pro ty, které vytvoříte pro zvláštní účely.

O čem chcete vědět víc

Viz také

Windows