Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A Microsoft Foundation Osztálytár üzenettérkép architektúrájának alaposztálya.
Szemantika
class CCmdTarget : public CObject
Tagok
Nyilvános konstruktorok
| Név | Leírás |
|---|---|
CCmdTarget::CCmdTarget |
Egy CCmdTarget objektumot hoz létre. |
Nyilvános metódusok
| Név | Leírás |
|---|---|
CCmdTarget::BeginWaitCursor |
A kurzort homokóra-kurzorként jeleníti meg. |
CCmdTarget::DoOleVerb |
Egy OLE-ige által megadott műveletet hajt végre. |
CCmdTarget::EnableAutomation |
Lehetővé teszi az OLE automatizálását az CCmdTarget objektum számára. |
CCmdTarget::EnableConnections |
Lehetővé teszi az eseményindítót a csatlakozási pontokon. |
CCmdTarget::EnableTypeLib |
Engedélyezi egy objektum típustárát. |
CCmdTarget::EndWaitCursor |
Vissza az előző kurzorhoz. |
CCmdTarget::EnumOleVerbs |
Egy objektum OLE-igéinek számbavétele. |
CCmdTarget::FromIDispatch |
A mutatóhoz társított objektumra CCmdTarget mutató mutatót IDispatch ad vissza. |
CCmdTarget::GetDispatchIID |
Lekéri az elsődleges kézbesítő felület azonosítóját. |
CCmdTarget::GetIDispatch |
Az objektumhoz társított IDispatch objektumra mutató mutatót CCmdTarget ad vissza. |
CCmdTarget::GetTypeInfoCount |
Lekéri az objektumok által biztosított típusinformációs felületek számát. |
CCmdTarget::GetTypeInfoOfGuid |
Lekéri a megadott GUID-nak megfelelő típusleírást. |
CCmdTarget::GetTypeLib |
Mutatót kap egy típustárhoz. |
CCmdTarget::GetTypeLibCache |
Lekéri a típustár gyorsítótárát. |
CCmdTarget::IsInvokeAllowed |
Automatizálási metódus meghívását teszi lehetővé. |
CCmdTarget::IsResultExpected |
Nonzero értéket ad vissza, ha egy automatizálási függvénynek értéket kell visszaadnia. |
CCmdTarget::OnCmdMsg |
Parancsüzenetek átirányítása és küldése. |
CCmdTarget::OnFinalRelease |
Az utolsó OLE-referencia kiadása után törlődik. |
CCmdTarget::RestoreWaitCursor |
Visszaállítja a homokóra-kurzort. |
Megjegyzések
Az üzenettérkép parancsokat vagy üzeneteket irányít az ön által írt tagfüggvényekhez a kezelésükhöz. (A parancs egy menüelemből, parancsgombból vagy gyorsítókulcsból származó üzenet.)
A következőkből CCmdTarget származtatott fő keretrendszerosztályok: , CViewCWinApp, CDocument, CWndés CFrameWnd. Ha egy új osztályt szeretne az üzenetek kezelésére, az osztályt ezen CCmdTarget-származtatott osztályok egyikéből származtathatja. Ritkán származtat közvetlenül egy osztályt CCmdTarget .
A parancscélok és OnCmdMsg az útválasztás áttekintéséhez tekintse meg a parancspéldányokat, a parancs-útválasztást és a leképezési üzeneteket.
CCmdTarget olyan tagfüggvényeket tartalmaz, amelyek egy homokórás kurzor megjelenítését kezelik. Akkor jelenítse meg a homokórás kurzort, ha azt várja, hogy egy parancs végrehajtása észrevehető időintervallumot vesz igénybe.
Az üzenettérképekhez hasonló kézbesítési térképek az OLE automatizálási IDispatch funkcióinak elérhetővé tétele érdekében használhatók. A felület felfedésével más alkalmazások (például a Visual Basic) is meghívhatják az alkalmazást.
Öröklési hierarchia
CCmdTarget
Követelmények
fejléc:afxwin.h
CCmdTarget::BeginWaitCursor
Hívja meg ezt a függvényt, hogy a kurzort homokóraként jelenítse meg, amikor egy parancs végrehajtása észrevehető időintervallumot vesz igénybe.
void BeginWaitCursor();
Megjegyzések
A keretrendszer meghívja ezt a függvényt, hogy megmutassa a felhasználónak, hogy foglalt, például amikor egy CDocument objektum betöltődik vagy egy fájlba menti magát.
A műveletek BeginWaitCursor nem mindig hatékonyak egyetlen üzenetkezelőn kívül, mivel más műveletek, például OnSetCursor a kezelés megváltoztathatják a kurzort.
Hívás EndWaitCursor az előző kurzor visszaállításához.
példa
// The following example illustrates the most common case
// of displaying the hourglass cursor during some lengthy
// processing of a command handler implemented in some
// CCmdTarget-derived class, such as a document or view.
void CMyView::OnBeginSleepEnd()
{
BeginWaitCursor(); // display the hourglass cursor
// do some lengthy processing
Sleep(3000);
EndWaitCursor(); // remove the hourglass cursor
}
// The next example illustrates RestoreWaitCursor.
void CMyView::OnBeginDlgRestore()
{
BeginWaitCursor(); // display the hourglass cursor
// do some lengthy processing
// The dialog box will normally change the cursor to
// the standard arrow cursor, and leave the cursor in
// as the standard arrow cursor when the dialog box is
// closed.
CFileDialog dlg(TRUE);
dlg.DoModal();
// It is necessary to call RestoreWaitCursor here in order
// to change the cursor back to the hourglass cursor.
RestoreWaitCursor();
// do some more lengthy processing
Sleep(3000);
EndWaitCursor(); // remove the hourglass cursor
}
// In the above example, the dialog was clearly invoked between
// the pair of calls to BeginWaitCursor and EndWaitCursor.
// Sometimes it may not be clear whether the dialog is invoked
// in between a pair of calls to BeginWaitCursor and EndWaitCursor.
// It is permissible to call RestoreWaitCursor, even if
// BeginWaitCursor was not previously called. This case is
// illustrated below, where CMyView::AnotherFunction does not
// need to know whether it was called in the context of an
// hourglass cursor.
void CMyView::OnDlgRestore()
{
// some processing ...
CFileDialog dlg(TRUE);
dlg.DoModal();
RestoreWaitCursor();
// some more processing ...
}
// If the dialog is invoked from a member function of
// some non-CCmdTarget, then you can call CWinApp::DoWaitCursor
// with a 0 parameter value to restore the hourglass cursor.
void CMyObject::OnDlgDoWait()
{
CFileDialog dlg(TRUE);
dlg.DoModal();
AfxGetApp()->DoWaitCursor(0); // same as CCmdTarget::RestoreWaitCursor
}
CCmdTarget::CCmdTarget
Egy CCmdTarget objektumot hoz létre.
CCmdTarget();
CCmdTarget::DoOleVerb
Egy OLE-ige által megadott műveletet hajt végre.
BOOL DoOleVerb(
LONG iVerb,
LPMSG lpMsg,
HWND hWndParent,
LPCRECT lpRect);
Paraméterek
iVerb
Az ige numerikus azonosítója.
lpMsg
Mutasson az MSG igét meghívó eseményt leíró struktúrára (például dupla kattintással).
hWndParent
Az objektumot tartalmazó dokumentumablak kezelése.
lpRect
Mutasson az RECT objektum határoló téglalapját meghatározó koordinátákat tartalmazó struktúrára képpontban hWndParent.
Visszaadott érték
TRUE ha sikeres, ellenkező esetben FALSE.
Megjegyzések
Ez a tagfüggvény alapvetően a .IOleObject::DoVerb A lehetséges műveleteket a rendszer a következő szerint sorolja CCmdTarget::EnumOleVerbsfel: .
CCmdTarget::EnableAutomation
Hívja meg ezt a függvényt, hogy engedélyezze az OLE-automatizálást egy objektumhoz.
void EnableAutomation();
Megjegyzések
Ezt a függvényt általában az objektum konstruktorától hívják, és csak akkor kell meghívni, ha az osztályhoz diszpécsertérképet deklaráltak. Az automatizálással kapcsolatos további információkért tekintse meg az Automation-ügyfelek és az Automation-kiszolgálók című témakört.
CCmdTarget::EnableConnections
Lehetővé teszi az eseményindítót a csatlakozási pontokon.
void EnableConnections();
Megjegyzések
A csatlakozási pontok engedélyezéséhez hívja meg ezt a tagfüggvényt a származtatott osztály konstruktorában.
CCmdTarget::EnableTypeLib
Engedélyezi egy objektum típustárát.
void EnableTypeLib();
Megjegyzések
Hívja meg ezt a tagfüggvényt a -derived objektum konstruktorában CCmdTarget, ha típusinformációkat ad meg.
CCmdTarget::EndWaitCursor
Hívja meg ezt a függvényt, miután meghívta a BeginWaitCursor tagfüggvényt, hogy térjen vissza a homokóra-kurzorról az előző kurzorra.
void EndWaitCursor();
Megjegyzések
A keretrendszer ezt a tagfüggvényt is meghívja, miután meghívta a homokóra-kurzort.
példa
// The following example illustrates the most common case
// of displaying the hourglass cursor during some lengthy
// processing of a command handler implemented in some
// CCmdTarget-derived class, such as a document or view.
void CMyView::OnBeginSleepEnd()
{
BeginWaitCursor(); // display the hourglass cursor
// do some lengthy processing
Sleep(3000);
EndWaitCursor(); // remove the hourglass cursor
}
// The next example illustrates RestoreWaitCursor.
void CMyView::OnBeginDlgRestore()
{
BeginWaitCursor(); // display the hourglass cursor
// do some lengthy processing
// The dialog box will normally change the cursor to
// the standard arrow cursor, and leave the cursor in
// as the standard arrow cursor when the dialog box is
// closed.
CFileDialog dlg(TRUE);
dlg.DoModal();
// It is necessary to call RestoreWaitCursor here in order
// to change the cursor back to the hourglass cursor.
RestoreWaitCursor();
// do some more lengthy processing
Sleep(3000);
EndWaitCursor(); // remove the hourglass cursor
}
// In the above example, the dialog was clearly invoked between
// the pair of calls to BeginWaitCursor and EndWaitCursor.
// Sometimes it may not be clear whether the dialog is invoked
// in between a pair of calls to BeginWaitCursor and EndWaitCursor.
// It is permissible to call RestoreWaitCursor, even if
// BeginWaitCursor was not previously called. This case is
// illustrated below, where CMyView::AnotherFunction does not
// need to know whether it was called in the context of an
// hourglass cursor.
void CMyView::OnDlgRestore()
{
// some processing ...
CFileDialog dlg(TRUE);
dlg.DoModal();
RestoreWaitCursor();
// some more processing ...
}
// If the dialog is invoked from a member function of
// some non-CCmdTarget, then you can call CWinApp::DoWaitCursor
// with a 0 parameter value to restore the hourglass cursor.
void CMyObject::OnDlgDoWait()
{
CFileDialog dlg(TRUE);
dlg.DoModal();
AfxGetApp()->DoWaitCursor(0); // same as CCmdTarget::RestoreWaitCursor
}
CCmdTarget::EnumOleVerbs
Egy objektum OLE-igéinek számbavétele.
BOOL EnumOleVerbs(LPENUMOLEVERB* ppenumOleVerb);
Paraméterek
ppenumOleVerb
Mutató egy illesztőre IEnumOLEVERB mutató mutatóra.
Visszaadott érték
TRUEha az objektum legalább egy OLE-igét támogat (ebben az esetben egy *ppenumOleVerb számbavételi felületre mutat), ellenkező esetben.IEnumOLEVERBFALSE
Megjegyzések
Ez a tagfüggvény alapvetően a .IOleObject::EnumVerbs
CCmdTarget::FromIDispatch
Ezt a függvényt úgy hívhatja meg, hogy egy IDispatch osztály automation tagfüggvényeitől kapott mutatót rendel az objektum interfészeit CCmdTarget megvalósító objektumhozIDispatch.
static CCmdTarget* PASCAL FromIDispatch(LPDISPATCH lpDispatch);
Paraméterek
lpDispatch
Egy objektumra mutató IDispatch mutató.
Visszaadott érték
Mutató a CCmdTarget társított objektumra lpDispatch. Ez a függvény akkor ad NULL vissza, ha az IDispatch objektum nem ismerhető fel Microsoft Foundation-osztályobjektumként IDispatch .
Megjegyzések
Ennek a függvénynek az eredménye a tagfüggvény GetIDispatchhívásának inverze.
CCmdTarget::GetDispatchIID
Lekéri az elsődleges kézbesítő felület azonosítóját.
virtual BOOL GetDispatchIID(IID* pIID);
Paraméterek
pIID
Egy illesztőazonosítóra mutató mutató ( GUID).
Visszaadott érték
TRUE ha sikeres, ellenkező esetben FALSE. Ha sikeres, *pIID a rendszer az elsődleges küldőfelület azonosítóját állítja be.
Megjegyzések
A származtatott osztályoknak felül kell bírálnia ezt a tagfüggvényt (ha nincs felülbírálva, GetDispatchIID akkor visszaadja FALSE). Lásd a(z) COleControl.
CCmdTarget::GetIDispatch
Hívja meg ezt a tagfüggvényt, hogy lekérje a IDispatch mutatót egy olyan automatizálási metódusból, amely vagy egy mutatót IDispatch ad vissza, vagy hivatkozással viszi el a mutatót IDispatch .
LPDISPATCH GetIDispatch(BOOL bAddRef);
Paraméterek
bAddRef
Megadja, hogy növelni szeretné-e az objektum referenciaszámát.
Visszaadott érték
Az IDispatch objektumhoz társított mutató.
Megjegyzések
A konstruktorokban hívható EnableAutomation , automatizálást engedélyező objektumok esetében ez a függvény egy mutatót ad vissza az alaposztály implementációjára IDispatch , amelyet a IDispatch felületen keresztül kommunikáló ügyfelek használnak. A függvény meghívása automatikusan hozzáad egy hivatkozást az egérmutatóhoz, ezért nem szükséges hívást kezdeményezni IUnknown::AddRef.
CCmdTarget::GetTypeInfoCount
Lekéri az objektumok által biztosított típusinformációs felületek számát.
virtual UINT GetTypeInfoCount();
Visszaadott érték
A típusinformációs felületek száma.
Megjegyzések
Ez a tagfüggvény alapvetően implementálja a IDispatch::GetTypeInfoCount.
A származtatott osztályoknak felül kell bírálnia ezt a függvényt, hogy visszaadják a megadott típusinformációs felületek számát (0 vagy 1). Ha nincs felülírva, GetTypeInfoCount akkor 0 értéket ad vissza. A felülbíráláshoz használja a IMPLEMENT_OLETYPELIB makrót, amely implementálja GetTypeLib és GetTypeLibCache.
CCmdTarget::GetTypeInfoOfGuid
Lekéri a megadott GUID-nak megfelelő típusleírást.
HRESULT GetTypeInfoOfGuid(
LCID lcid,
const GUID& guid,
LPTYPEINFO* ppTypeInfo);
Paraméterek
lcid
Területi azonosító (LCID).
guid
A típusleírás GUID azonosítója .
ppTypeInfo
Mutasson a felületre mutató mutatóra ITypeInfo .
Visszaadott érték
A HRESULT hívás sikerességét vagy sikertelenségét jelzi. Ha sikeres, *ppTypeInfo a típusinformációs felületre mutat.
CCmdTarget::GetTypeLib
Mutatót kap egy típustárhoz.
virtual HRESULT GetTypeLib(
LCID lcid,
LPTYPELIB* ppTypeLib);
Paraméterek
lcid
Területi azonosító (LCID).
ppTypeLib
Mutató a felületre mutató mutatóra ITypeLib .
Visszaadott érték
A HRESULT hívás sikerességét vagy sikertelenségét jelzi. Ha sikeres, *ppTypeLib a típustár felületére mutat.
Megjegyzések
A származtatott osztályoknak felül kell bírálnia ezt a tagfüggvényt (ha nincs felülbírálva, GetTypeLib akkor visszaadja TYPE_E_CANTLOADLIBRARY). Használja a IMPLEMENT_OLETYPELIB makrót, amely implementálja GetTypeInfoCount és GetTypeLibCache.
CCmdTarget::GetTypeLibCache
Lekéri a típustár gyorsítótárát.
virtual CTypeLibCache* GetTypeLibCache();
Visszaadott érték
Egy objektumra mutató CTypeLibCache mutató.
Megjegyzések
A származtatott osztályoknak felül kell bírálnia ezt a tagfüggvényt (ha nincs felülbírálva, GetTypeLibCache akkor visszaadja NULL). Használja a IMPLEMENT_OLETYPELIB makrót, amely implementálja GetTypeInfoCount és GetTypeLib.
CCmdTarget::IsInvokeAllowed
Ezt a függvényt az MFC implementációja IDispatch::Invoke hívja meg annak megállapításához, hogy egy adott (által dispidazonosított) automatizálási módszer meghívható-e.
virtual BOOL IsInvokeAllowed(DISPID dispid);
Paraméterek
dispid
Feladóazonosító.
Visszaadott érték
TRUE ha a metódus meghívható, ellenkező esetben FALSE.
Megjegyzések
Ha IsInvokeAllowed visszaadja TRUE, Invoke a metódus meghívása folytatódik, Invoke ellenkező esetben sikertelen lesz, és a visszaadott E_UNEXPECTEDmetódust adja vissza.
A származtatott osztályok felülbírálhatják ezt a függvényt, hogy megfelelő értékeket adjanak vissza (ha nincs felülbírálva, IsInvokeAllowed akkor visszaadja TRUE). Lásd különösen COleControl::IsInvokeAllowed.
CCmdTarget::IsResultExpected
Annak megállapítására használható IsResultExpected , hogy egy ügyfél visszatérési értéket vár-e az automation függvényhez való hívástól.
BOOL IsResultExpected();
Visszaadott érték
Nonzero, ha egy automatizálási függvénynek értéket kell visszaadnia; egyéb esetben 0.
Megjegyzések
Az OLE interfész információt nyújt az MFC-nek arról, hogy az ügyfél függvényhívás eredményét használja-e vagy figyelmen kívül hagyja, az MFC pedig ezeket az információkat használja a hívás eredményének meghatározásához IsResultExpected. Ha a visszatérési érték előállítása idő- vagy erőforrásigényes, a függvény meghívásával növelheti a hatékonyságot a visszatérési érték kiszámítása előtt.
Ez a függvény csak egyszer ad vissza 0 értéket, így érvényes visszatérési értékeket kap más automatizálási függvényektől, ha meghívja őket az ügyfél által hívott automatizálási függvényből.
IsResultExpected Nemero értéket ad vissza, ha az automation függvény hívása nincs folyamatban.
CCmdTarget::OnCmdMsg
A keretrendszer meghívta a parancsüzenetek átirányítására és küldésére, valamint a parancs felhasználói felületi objektumainak frissítésének kezelésére.
virtual BOOL OnCmdMsg(
UINT nID,
int nCode,
void* pExtra,
AFX_CMDHANDLERINFO* pHandlerInfo);
Paraméterek
nID
A parancsazonosítót tartalmazza.
nCode
Azonosítja a parancs értesítési kódját. A megjegyzésekben további információt talál a következő értékekkel nCodekapcsolatban: .
pExtra
Az érték nCodeszerint használva. További információt a megjegyzésekben talál pExtra.
pHandlerInfo
Ha nemNULL, OnCmdMsg akkor a parancs elküldése helyett kitölti a pTargetpmf struktúra tagjait és pHandlerInfo a szerkezet tagjait. Ennek a paraméternek általában a következőnek kell lennie NULL: .
Visszaadott érték
Nonzero, ha az üzenetet kezelik; egyéb esetben 0.
Megjegyzések
Ez a keretrendszer parancsarchitektúrájának fő implementációs rutinja.
Futtatáskor egy parancsot küld más objektumoknak, OnCmdMsg vagy magát a parancsot úgy kezeli, hogy meghívja a gyökérosztályt CCmdTarget::OnCmdMsg, amely elvégzi a tényleges üzenettérkép-keresést. Az alapértelmezett parancs-útválasztás teljes leírását az Üzenetkezelési és -leképezési témakörökben talál.
Ritkán érdemes felülbírálni ezt a tagfüggvényt, hogy kibővítse a keretrendszer szabványos parancs-útválasztását. A parancs-útválasztási architektúra részletes részleteiért tekintse meg a Technical Note 21-et .
Felülbírálás OnCmdMsgesetén meg kell adnia a megfelelő értéket nCode, a parancsértesítési kódot, és pExtraaz értéktől nCodefüggően. Az alábbi táblázat a hozzájuk tartozó értékeket sorolja fel:
nCode érték |
pExtra érték |
|---|---|
CN_COMMAND |
CCmdUI* |
CN_EVENT |
AFX_EVENT* |
CN_UPDATE_COMMAND_UI |
CCmdUI* |
CN_OLECOMMAND |
COleCmdUI* |
CN_OLE_UNREGISTER |
NULL |
példa
// This example illustrates extending the framework's standard command
// route from the view to objects managed by the view. This example
// is from an object-oriented drawing application, similar to the
// DRAWCLI sample application, which draws and edits "shapes".
BOOL CMyView::OnCmdMsg(UINT nID,
int nCode,
void *pExtra,
AFX_CMDHANDLERINFO *pHandlerInfo)
{
// Extend the framework's command route from the view to
// the application-specific CMyShape that is currently selected
// in the view. m_pActiveShape is NULL if no shape object
// is currently selected in the view.
if ((m_pActiveShape != NULL) &&
m_pActiveShape->OnCmdMsg(nID, nCode, pExtra, pHandlerInfo))
return TRUE;
// If the object(s) in the extended command route don't handle
// the command, then let the base class OnCmdMsg handle it.
return CView::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo);
}
// The command handler for ID_SHAPE_COLOR (menu command to change
// the color of the currently selected shape) was added to the message
// map of CMyShape (note, not CMyView) using the Properties window.
// The menu item will be automatically enabled or disabled, depending
// on whether a CMyShape is currently selected in the view, that is,
// depending on whether CMyView::m_pActiveView is NULL. It is not
// necessary to implement an ON_UPDATE_COMMAND_UI handler to enable
// or disable the menu item.
BEGIN_MESSAGE_MAP(CMyShape, CCmdTarget)
ON_COMMAND(ID_SHAPE_COLOR, &CMyShape::OnShapeColor)
END_MESSAGE_MAP()
CCmdTarget::OnFinalRelease
A keretrendszer meghívja, amikor az objektumra vagy az objektumról az utolsó OLE-hivatkozás ki van adva.
virtual void OnFinalRelease();
Megjegyzések
Felülbírálja ezt a függvényt, hogy különleges kezelést biztosítson ehhez a helyzethez. Az alapértelmezett implementáció törli az objektumot.
CCmdTarget::RestoreWaitCursor
Hívja meg ezt a függvényt, hogy visszaállítsa a megfelelő homokóra-kurzort a rendszerkurzor módosítása után (például miután egy üzenetmező megnyílt, majd bezárult egy hosszú művelet közepén).
void RestoreWaitCursor();
példa
// The following example illustrates the most common case
// of displaying the hourglass cursor during some lengthy
// processing of a command handler implemented in some
// CCmdTarget-derived class, such as a document or view.
void CMyView::OnBeginSleepEnd()
{
BeginWaitCursor(); // display the hourglass cursor
// do some lengthy processing
Sleep(3000);
EndWaitCursor(); // remove the hourglass cursor
}
// The next example illustrates RestoreWaitCursor.
void CMyView::OnBeginDlgRestore()
{
BeginWaitCursor(); // display the hourglass cursor
// do some lengthy processing
// The dialog box will normally change the cursor to
// the standard arrow cursor, and leave the cursor in
// as the standard arrow cursor when the dialog box is
// closed.
CFileDialog dlg(TRUE);
dlg.DoModal();
// It is necessary to call RestoreWaitCursor here in order
// to change the cursor back to the hourglass cursor.
RestoreWaitCursor();
// do some more lengthy processing
Sleep(3000);
EndWaitCursor(); // remove the hourglass cursor
}
// In the above example, the dialog was clearly invoked between
// the pair of calls to BeginWaitCursor and EndWaitCursor.
// Sometimes it may not be clear whether the dialog is invoked
// in between a pair of calls to BeginWaitCursor and EndWaitCursor.
// It is permissible to call RestoreWaitCursor, even if
// BeginWaitCursor was not previously called. This case is
// illustrated below, where CMyView::AnotherFunction does not
// need to know whether it was called in the context of an
// hourglass cursor.
void CMyView::OnDlgRestore()
{
// some processing ...
CFileDialog dlg(TRUE);
dlg.DoModal();
RestoreWaitCursor();
// some more processing ...
}
// If the dialog is invoked from a member function of
// some non-CCmdTarget, then you can call CWinApp::DoWaitCursor
// with a 0 parameter value to restore the hourglass cursor.
void CMyObject::OnDlgDoWait()
{
CFileDialog dlg(TRUE);
dlg.DoModal();
AfxGetApp()->DoWaitCursor(0); // same as CCmdTarget::RestoreWaitCursor
}
Lásd még
MFC-minta ACDUAL
CObject osztály
hierarchiadiagram
CCmdUI osztály
CDocument osztály
CDocTemplate osztály
CWinApp osztály
CWnd osztály
CView osztály
CFrameWnd osztály
COleDispatchDriver osztály