Sdílet prostřednictvím


Objekty okna

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. Použijte CWnd k odvození vlastních podřízených tříd oken nebo použijte jednu 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í funkcionality a správu oken, ale můžete vytvořit vlastní třídu odvozenou z CWnd a použít její členské funkce pro přizpůsobení poskytované funkcionality. Podřízená okna můžete vytvořit tím, že vytvoříte objekt CWnd a zavoláte jeho členskou funkci Vytvořit, a poté podřízená okna přizpůsobíte pomocí členských funkcí CWnd. 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 o programování pro Windows je dobrým zdrojem informací o tom, jak používat CWnd metody, které zapouzdřují HWND 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ých třídou CWnd, naleznete v .

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 rámce a pro ta, která vytvoříte sami pro zvláštní účely.

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

Viz také

Windows