Egy alkalmazás a modális panel panel

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.

Kapcsolódó cikkek