Egy alkalmazás a modális panel panel
Home | Rólunk | visszacsatolás
Létrehozására vonatkozó eljárást nem modális párbeszédpanel némileg eltér, hogyan lehet létrehozni egy modális párbeszédpanel. Mint ahogy az a modális párbeszédablak, akkor először létre kell hoznia egy sablont párbeszédablak, és add meg az alkalmazás erőforrás fájl.
Akkor meg kell hozzon létre egy osztályt, amely kezeli a párbeszéd panel - az osztály a párbeszédablakban. Ez az osztály származik közvetlenül az alap osztály CDialog. Ahhoz, hogy hozzon létre egy nem-modális párbeszédablak nyilatkoznia kell az osztály objektum párbeszédablak. A példában modális panel osztály definíciója változó osztály CMainFrame nodialog (lásd MainFrm.h fájlt.)
osztály CMainFrame. nyilvános CFrameWnd
védett: // Létrehozunk származó sorszámozás csak
// ClassWizard generált virtuális függvény felülbírálások
virtuális BOOL PreCreateWindow (CREATESTRUCT cs);
virtuális void AssertValid () const;
virtuális void Dump (CDumpContext dc) const;
// generált üzenet térkép funkciói
afx_msg void OnModal ();
afx_msg void OnNomodal ();
afx_msg void OnNoshowdialog ();
Elindítani a panel nem modális dialógus szükséges felhívni eljárás létrehozása CDialog osztályban.
Készítsen módszer lehet nevezni közvetlenül a Class tervező párbeszéd panel, vagy létrehozása után az objektumot. Ha megadta a Create Class párbeszéd tervező panel, meg kell határozni a kivitelező, kijelentve azt nyilvánosságra. A példában létrehozása módszert nevezik a kivitelező a CMainFrame osztály:
A CDialog osztály határozza meg két prototípus létrehozása módszer. Az egyik lehetővé teszi, hogy meghatározza a párbeszédablak keresztül szöveges nevet, a másik - a numerikus azonosítót.
BOOL létrehozása (LPCTSTR lpszTemplateName, CWnd * pParentWnd = NULL);
BOOL létrehozása (UINT nIDTemplate, CWnd * pParentWnd = NULL);
LpszTemplateName paraméter tartalmaz egy mutatót a húr a sablon nevét, nIDTemplate paraméter egy erőforrás-azonosító számot. PParentWnd paramétere a szülő ablak birtokolja a párbeszédablakban. Ha pParentWnd NULL, a tulajdonos - az alkalmazás főablakát.
Készítsen módszer visszaadja a nulla értéket, ha a teremtés előlap sikeresen befejeződött, és a nullával.
Ha a párbeszédpanel WS_VISIBLE stílus, azonnal megjelenik a képernyőn. Ellenkező esetben meg kell hívni a ShowWindow módszert, és visszahúzódik a panel a képernyőn, akkor hívja a módszer DestroyWindow (ez a módszer határozza meg az osztály CWnd, és lehet nevezni egy osztály interaktív objektumok panel) megjeleníteni. A példában ezek végzik deytviya rakodók menü parancsok:
Egy objektum törléséhez, a nem-modális párbeszédablak, akkor felülírja a virtuális módszer PostNcDestroy (ezt a módszert eredetileg meghatározott CWnd alap osztály). Ez okozhat a kezelő törli, átadva neki paraméterként egy mutatót az objektum ezt. El kell távolítani azokat a tárgyakat, amelyek segítségével létrehozott új operátor (ebben a példában ez lehetetlen végrehajtani deytvie, mellesleg, miért?).
A példában (file dlg2.zip) kiterjesztette menü hozzáadásával két tétel - „nem-modális dialógus” és a „Remove modális dialógus”, tette hozzá a megfelelő eseménykezelõkkel.
Egyes funkciók dolgozó párbeszédpanelek.
CWnd * CWnd :: GetDlgItem (int nid) const;
érvényteleníti CWnd :: GetDlgItem (int NID HWND * phWnd) const;
void CDialog :: GotoDlgCtrl (CWnd * pWndCtrl);
Focus másik eleme a párbeszéd.
érvényteleníti CDialog :: NextDlgCtrl () const;
érvényteleníti CDialog :: PrevDlgCtrl () const;
Ahhoz, hogy megtudja, mi a „default” gomb működik, és változtassa meg a programozott, akkor a funkciók:
érvényteleníti CDialog :: SetDefID (UINT NID);
GetDefID függvény visszaadja az alsó szó azonosítót az alapértelmezett gomb. A nagy szó tehát tartalmazza az értéket DC_HASDEFID.
A modális létre egy alkalmazás, amely megjeleníti a fő ablak tartalmaz egy menü „Dialog”, „A” és „Exit”. Ha a „Dialog” jelenik modális párbeszédablak, amely lehetővé teszi, hogy meg tudja mutatni a különböző Windows elemek (gombok szöveget és képeket, statikus elemek (szöveg és ikonok), elemet.START_UNORDERED_LISTSTART_ITEMMiután, listák és gombok -Check- a rádióban-gomb). Itt található az irányítás ezen elemek.
Minden program kell egy nem szabványos ikonok.
Hozzáadása menüpontot, hogy megjelenjen a nem-modális párbeszédablak. kitalálni megjelenés és használt elemek a párbeszédablakban.
Változás beszélgetés.