Megosztás:


Ablakobjektumok

Az MFC a CWnd osztályt biztosítja az HWND ablak fogantyújának beágyazásához. Az CWnd objektum egy C++ ablakobjektum, amely különbözik a HWND Windows-ablakot ábrázoló, de azt tartalmazó objektumtól. Használja a CWnd saját gyermekablakosztályok létrehozásához, vagy vegye igénybe a sok MFC-osztály egyikét, amelyiket a CWnd származtatta. Az osztály CWnd az összes ablak alaposztálya, beleértve a keretablakokat, a párbeszédpaneleket, a gyermekablakokat, a vezérlőket és a vezérlősávokat, például az eszköztárakat. A C++ ablakobjektum és a HWND közötti kapcsolat jó ismerete elengedhetetlen az MFC-vel való hatékony programozáshoz.

MFC néhány alapértelmezett funkciót és ablakkezelést biztosít, de származtathat saját osztályt a CWnd-ból, és a tagfüggvényeivel testre szabhatja a biztosított funkciókat. Gyermekablakok létrehozásához hozzon létre egy CWnd objektumot, és hívja meg annak Taglétrehozási függvényét, majd szabja testre a gyermekablakokat tagfüggvények használatával CWnd . A CView-ból származó objektumokat, például űrlapnézeteket vagy fanézeteket beágyazhatja egy keretablakba. A dokumentumok több nézetét is támogathatja a CSplitterWnd osztály által biztosított felosztópaneleken keresztül.

Az osztályból CWnd származó összes objektum tartalmaz egy üzenettérképet, amelyen keresztül windowsos üzeneteket vagy parancsazonosítókat képezhet le a saját kezelőihez.

A Windows programozásával kapcsolatos általános szakirodalom jó forrás a tagfüggvények használatának CWnd elsajátításához, amely magában foglalja az HWND API-kat.

Függvények CWnd műveleteihez

CWnd és a származtatott ablakosztályok konstruktorokat, destruktorokat és tagfüggvényeket biztosítanak az objektum inicializálásához, az alapul szolgáló Windows-struktúrák létrehozásához és a beágyazott HWNDelemek eléréséhez. CWnd Olyan tagfüggvényeket is biztosít, amelyek a Windows API-kat az üzenetek küldéséhez, az ablak állapotának eléréséhez, a koordináták konvertálásához, a frissítéshez, a görgetéshez, a vágólap eléréséhez és sok más feladathoz foglalják össze. A legtöbb windowsos ablakkezelési API-t, amely HWND argumentumot vesz fel, a rendszer CWnd tagfüggvényeként kapszulázza. A függvények neve és paraméterei megmaradnak a CWnd tagfüggvényben. A Windows API-kkal kapcsolatos részletekért lásd a CWnd osztályt.

CWnd és Windows-üzenetek

Az egyik elsődleges cél CWnd az, hogy felületet biztosítson a Windows-üzenetek kezeléséhez, például WM_PAINT vagy WM_MOUSEMOVE. A CWnd sok tagfüggvénye a standard üzenetek kezelője — azok, amelyek az afx_msg azonosítóval kezdődnek és az "On" előtaggal, mint például OnPaint és OnMouseMove. Az üzenetkezelés és -leképezés részletesen ismerteti az üzeneteket és az üzenetek kezelését. Az ott található információk ugyanúgy vonatkoznak a keretrendszer ablakára és azokra, amelyeket ön különleges célokra hoz létre.

Mit szeretne többet megtudni

Lásd még

Windows