Delen via


CCmdTarget-klasse

De basisklasse voor de berichtkaartarchitectuur van microsoft Foundation Class Library.

Syntaxis

class CCmdTarget : public CObject

Leden

Openbare constructors

Naam Beschrijving
CCmdTarget::CCmdTarget Maakt een CCmdTarget-object.

Openbare methoden

Naam Beschrijving
CCmdTarget::BeginWaitCursor De cursor wordt weergegeven als een zandlopercursor.
CCmdTarget::DoOleVerb Hiermee wordt een actie die is opgegeven door een OLE-bewerking uitgevoerd.
CCmdTarget::EnableAutomation Hiermee staat u OLE-automatisering voor het CCmdTarget object toe.
CCmdTarget::EnableConnections Hiermee schakelt u het activeren van gebeurtenissen via verbindingspunten in.
CCmdTarget::EnableTypeLib Hiermee schakelt u de typebibliotheek van een object in.
CCmdTarget::EndWaitCursor Keert terug naar de vorige cursor.
CCmdTarget::EnumOleVerbs Opsomming van de OLE-werkwoorden van een object.
CCmdTarget::FromIDispatch Hiermee wordt een aanwijzer geretourneerd naar het CCmdTarget object dat is gekoppeld aan de IDispatch aanwijzer.
CCmdTarget::GetDispatchIID Hiermee haalt u de primaire verzendinterface-id op.
CCmdTarget::GetIDispatch Retourneert een aanwijzer naar het IDispatch object dat is gekoppeld aan het CCmdTarget object.
CCmdTarget::GetTypeInfoCount Hiermee wordt het aantal type-informatieinterfaces opgehaald dat een object biedt.
CCmdTarget::GetTypeInfoOfGuid Haalt de typebeschrijving op die overeenkomt met de opgegeven GUID.
CCmdTarget::GetTypeLib Hiermee haalt u een aanwijzer op naar een typebibliotheek.
CCmdTarget::GetTypeLibCache Hiermee haalt u de typebibliotheekcache op.
CCmdTarget::IsInvokeAllowed Hiermee schakelt u aanroepen van automatiseringsmethode in.
CCmdTarget::IsResultExpected Retourneert niet-nul als een automatiseringsfunctie een waarde moet retourneren.
CCmdTarget::OnCmdMsg Hiermee worden opdrachtberichten gerouteerd en verzonden.
CCmdTarget::OnFinalRelease Wordt opgeschoond nadat de laatste OLE-verwijzing is vrijgegeven.
CCmdTarget::RestoreWaitCursor Hiermee herstelt u de zandlopercursor.

Opmerkingen

Een berichtenoverzicht routeert opdrachten of berichten naar de lidfuncties die u schrijft om ze te verwerken. (Een opdracht is een bericht van een menu-item, opdrachtknop of sneltoets.)

Belangrijke frameworkklassen die zijn afgeleid van CCmdTarget include CView, CWinApp, CDocument, CWnden CFrameWnd. Als u van plan bent om berichten te verwerken voor een nieuwe klasse, moet u de klasse afleiden van een van deze CCmdTarget-afgeleide klassen. U leidt zelden rechtstreeks een klas CCmdTarget af.

Zie OnCmdMsg, Opdrachtroutering en Toewijzingsberichten voor een overzicht van opdrachtdoelen en routering.

CCmdTarget bevat lidfuncties die de weergave van een zandlopercursor verwerken. Geef de zandlopercursor weer wanneer u verwacht dat een opdracht een merkbaar tijdsinterval duurt om uit te voeren.

Verzendkaarten, vergelijkbaar met berichtkaarten, worden gebruikt om OLE-automatiseringsfunctionaliteit IDispatch beschikbaar te maken. Door deze interface beschikbaar te maken, kunnen andere toepassingen (zoals Visual Basic) uw toepassing aanroepen.

Overnamehiërarchie

CObject-

CCmdTarget

Behoeften

koptekst:afxwin.h

CCmdTarget::BeginWaitCursor

Roep deze functie aan om de cursor weer te geven als zandloper wanneer u verwacht dat een opdracht een merkbaar tijdsinterval duurt om uit te voeren.

void BeginWaitCursor();

Opmerkingen

In het framework wordt deze functie aangeroepen om de gebruiker weer te geven dat het bezet is, bijvoorbeeld wanneer een CDocument object wordt geladen of zichzelf opslaat in een bestand.

De acties van BeginWaitCursor zijn niet altijd effectief buiten één berichthandler als andere acties, zoals OnSetCursor afhandelen, kunnen de cursor wijzigen.

Aanroep EndWaitCursor om de vorige cursor te herstellen.

Voorbeeld

// 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

Maakt een CCmdTarget-object.

CCmdTarget();

CCmdTarget::DoOleVerb

Hiermee wordt een actie die is opgegeven door een OLE-bewerking uitgevoerd.

BOOL DoOleVerb(
    LONG iVerb,
    LPMSG lpMsg,
    HWND hWndParent,
    LPCRECT lpRect);

Parameterwaarden

iVerb
Numerieke id van het werkwoord.

lpMsg
Wijs de MSG structuur aan die de gebeurtenis beschrijft (zoals een dubbelklik) die het werkwoord heeft aangeroepen.

hWndParent
Greep van het documentvenster met het object.

lpRect
Wijs de RECT structuur aan met de coördinaten in pixels die de begrenzingsrechthoek van een object definiëren.hWndParent

Retourwaarde

TRUE indien geslaagd, anders FALSE.

Opmerkingen

Deze lidfunctie is in feite een implementatie van IOleObject::DoVerb. De mogelijke acties worden opgesomd door CCmdTarget::EnumOleVerbs.

CCmdTarget::EnableAutomation

Roep deze functie aan om OLE-automatisering in te schakelen voor een object.

void EnableAutomation();

Opmerkingen

Deze functie wordt meestal aangeroepen vanuit de constructor van uw object en mag alleen worden aangeroepen als een verzendkaart is gedeclareerd voor de klasse. Zie de artikelen Automation-clients en Automation-servers voor meer informatie over automatisering.

CCmdTarget::EnableConnections

Hiermee schakelt u het activeren van gebeurtenissen via verbindingspunten in.

void EnableConnections();

Opmerkingen

Als u verbindingspunten wilt inschakelen, roept u deze lidfunctie aan in de constructor van uw afgeleide klasse.

CCmdTarget::EnableTypeLib

Hiermee schakelt u de typebibliotheek van een object in.

void EnableTypeLib();

Opmerkingen

Roep deze lidfunctie aan in de constructor van uw CCmdTarget-afgeleide object als deze typegegevens levert.

CCmdTarget::EndWaitCursor

Roep deze functie aan nadat u de BeginWaitCursor lidfunctie hebt aangeroepen om terug te keren van de zandlopercursor naar de vorige cursor.

void EndWaitCursor();

Opmerkingen

Het framework roept deze lidfunctie ook aan nadat deze de zandlopercursor heeft aangeroepen.

Voorbeeld

// 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

Opsomming van de OLE-werkwoorden van een object.

BOOL EnumOleVerbs(LPENUMOLEVERB* ppenumOleVerb);

Parameterwaarden

ppenumOleVerb
Een aanwijzer IEnumOLEVERB naar een interface.

Retourwaarde

TRUE als het object ten minste één OLE-werkwoord ondersteunt (in dat geval *ppenumOleVerb verwijst naar een IEnumOLEVERB enumerator-interface), anders FALSE.

Opmerkingen

Deze lidfunctie is in feite een implementatie van IOleObject::EnumVerbs.

CCmdTarget::FromIDispatch

Roep deze functie aan om een IDispatch aanwijzer, ontvangen van automation-lidfuncties van een klasse, toe te wijzen aan het CCmdTarget object waarmee de interfaces van het IDispatch object worden geïmplementeerd.

static CCmdTarget* PASCAL FromIDispatch(LPDISPATCH lpDispatch);

Parameterwaarden

lpDispatch
Een aanwijzer naar een IDispatch object.

Retourwaarde

Een aanwijzer naar het CCmdTarget object dat is gekoppeld aan lpDispatch. Deze functie retourneert NULL als het IDispatch object niet wordt herkend als een Microsoft Foundation Class-object IDispatch .

Opmerkingen

Het resultaat van deze functie is de inverse van een aanroep naar de lidfunctie GetIDispatch.

CCmdTarget::GetDispatchIID

Hiermee haalt u de primaire verzendinterface-id op.

virtual BOOL GetDispatchIID(IID* pIID);

Parameterwaarden

pIID
Een aanwijzer naar een interface-id (een GUID).

Retourwaarde

TRUE indien geslaagd, anders FALSE. Als dit lukt, *pIID wordt deze ingesteld op de primaire verzendinterface-id.

Opmerkingen

Afgeleide klassen moeten deze lidfunctie overschrijven (indien niet overschreven, GetDispatchIID retourneert).FALSE Zie COleControl.

CCmdTarget::GetIDispatch

Roep deze lidfunctie aan om de IDispatch aanwijzer op te halen uit een automatiseringsmethode die een IDispatch aanwijzer retourneert of een verwijzing naar een IDispatch aanwijzer neemt.

LPDISPATCH GetIDispatch(BOOL bAddRef);

Parameterwaarden

bAddRef
Hiermee geeft u op of het aantal verwijzingen voor het object moet worden verhoogd.

Retourwaarde

De IDispatch aanwijzer die aan het object is gekoppeld.

Opmerkingen

Voor objecten die hun constructors aanroepen EnableAutomation , waardoor automatisering is ingeschakeld, retourneert deze functie een aanwijzer naar de Foundation Class-implementatie van IDispatch die wordt gebruikt door clients die communiceren via de IDispatch interface. Als u deze functie aanroept, wordt automatisch een verwijzing naar de aanwijzer toegevoegd, zodat het niet nodig is om een aanroep naar te maken IUnknown::AddRef.

CCmdTarget::GetTypeInfoCount

Hiermee wordt het aantal type-informatieinterfaces opgehaald dat een object biedt.

virtual UINT GetTypeInfoCount();

Retourwaarde

Het aantal type-informatieinterfaces.

Opmerkingen

Deze lidfunctie implementeert IDispatch::GetTypeInfoCountin principe .

Afgeleide klassen moeten deze functie overschrijven om het aantal opgegeven type-informatieinterfaces (0 of 1) te retourneren. Als dit niet wordt overschreven, GetTypeInfoCount wordt 0 geretourneerd. Als u deze wilt overschrijven, gebruikt u de IMPLEMENT_OLETYPELIB macro, die ook implementeert GetTypeLib en GetTypeLibCache.

CCmdTarget::GetTypeInfoOfGuid

Haalt de typebeschrijving op die overeenkomt met de opgegeven GUID.

HRESULT GetTypeInfoOfGuid(
    LCID lcid,
    const GUID& guid,
    LPTYPEINFO* ppTypeInfo);

Parameterwaarden

lcid
Een landinstellings-id (LCID).

guid
De GUID van de typebeschrijving.

ppTypeInfo
Aanwijzer naar een aanwijzer naar de ITypeInfo interface.

Retourwaarde

Een HRESULT aanduiding voor het slagen of mislukken van de aanroep. Als dit lukt, *ppTypeInfo verwijst u naar de informatie-interface van het type.

CCmdTarget::GetTypeLib

Hiermee haalt u een aanwijzer op naar een typebibliotheek.

virtual HRESULT GetTypeLib(
    LCID lcid,
    LPTYPELIB* ppTypeLib);

Parameterwaarden

lcid
Een landinstellings-id (LCID).

ppTypeLib
Een aanwijzer naar een aanwijzer naar de ITypeLib interface.

Retourwaarde

Een HRESULT aanduiding voor het slagen of mislukken van de aanroep. Als dit lukt, *ppTypeLib verwijst u naar de interface van de typebibliotheek.

Opmerkingen

Afgeleide klassen moeten deze lidfunctie overschrijven (indien niet overschreven, GetTypeLib retourneert).TYPE_E_CANTLOADLIBRARY Gebruik de IMPLEMENT_OLETYPELIB macro, die ook implementeert GetTypeInfoCount en GetTypeLibCache.

CCmdTarget::GetTypeLibCache

Hiermee haalt u de typebibliotheekcache op.

virtual CTypeLibCache* GetTypeLibCache();

Retourwaarde

Een aanwijzer naar een CTypeLibCache object.

Opmerkingen

Afgeleide klassen moeten deze lidfunctie overschrijven (indien niet overschreven, GetTypeLibCache retourneert).NULL Gebruik de IMPLEMENT_OLETYPELIB macro, die ook implementeert GetTypeInfoCount en GetTypeLib.

CCmdTarget::IsInvokeAllowed

Deze functie wordt aangeroepen door de implementatie van IDispatch::Invoke MFC om te bepalen of een bepaalde automatiseringsmethode (geïdentificeerd door dispid) kan worden aangeroepen.

virtual BOOL IsInvokeAllowed(DISPID dispid);

Parameterwaarden

dispid
Een verzend-id.

Retourwaarde

TRUE als de methode kan worden aangeroepen, anders FALSE.

Opmerkingen

Als IsInvokeAllowed retourneert TRUE, Invoke wordt de methode aangeroepen; anders mislukt, Invoke retourneert E_UNEXPECTEDu .

Afgeleide klassen kunnen deze functie overschrijven om de juiste waarden te retourneren (als deze niet worden overschreven, IsInvokeAllowed retourneert).TRUE Zie in het bijzonder COleControl::IsInvokeAllowed.

CCmdTarget::IsResultExpected

Gebruik IsResultExpected dit om na te gaan of een client een retourwaarde verwacht van de aanroep naar een automatiseringsfunctie.

BOOL IsResultExpected();

Retourwaarde

Niet-nul als een automatiseringsfunctie een waarde moet retourneren; anders 0.

Opmerkingen

De OLE-interface levert informatie aan MFC over het feit of de client het resultaat van een functie-aanroep gebruikt of negeert, en MFC gebruikt deze informatie op zijn beurt om het resultaat van een aanroep te IsResultExpectedbepalen. Als de productie van een retourwaarde tijd- of resource-intensief is, kunt u de efficiëntie verhogen door deze functie aan te roepen voordat u de retourwaarde berekent.

Deze functie retourneert slechts 0 keer, zodat u geldige retourwaarden krijgt van andere automatiseringsfuncties als u deze aanroept vanuit de automatiseringsfunctie die de client heeft aangeroepen.

IsResultExpected retourneert een niet-nulwaarde als deze wordt aangeroepen wanneer er geen automatiseringsfunctieaanroep wordt uitgevoerd.

CCmdTarget::OnCmdMsg

Wordt aangeroepen door het framework om opdrachtberichten te routeren en te verzenden en om de update van opdrachtgebruikersinterfaceobjecten af te handelen.

virtual BOOL OnCmdMsg(
    UINT nID,
    int nCode,
    void* pExtra,
    AFX_CMDHANDLERINFO* pHandlerInfo);

Parameterwaarden

nID
Bevat de opdracht-id.

nCode
Identificeert de meldingscode van de opdracht. Zie Opmerkingen voor meer informatie over waarden voor nCode.

pExtra
Wordt gebruikt volgens de waarde van nCode. Zie Opmerkingen voor meer informatie over pExtra.

pHandlerInfo
Zo niet NULL, OnCmdMsg vult u de pTarget en pmf leden van de pHandlerInfo structuur in in plaats van de opdracht te verzenden. Normaal gesproken moet deze parameter zijn NULL.

Retourwaarde

Niet-nul als het bericht wordt verwerkt; anders 0.

Opmerkingen

Dit is de belangrijkste implementatieroutine van de frameworkopdrachtarchitectuur.

Tijdens runtime OnCmdMsg verzendt u een opdracht naar andere objecten of verwerkt u de opdracht zelf door de hoofdklasse CCmdTarget::OnCmdMsgaan te roepen, waarmee de werkelijke zoekactie op berichttoewijzing wordt uitgevoerd. Zie Onderwerpen over berichtafhandeling en toewijzing voor een volledige beschrijving van de standaardopdrachtroutering.

In zeldzame gevallen kunt u deze lidfunctie overschrijven om de standaardopdrachtroutering van het framework uit te breiden. Raadpleeg technische opmerking 21 voor geavanceerde details van de architectuur voor routering van opdrachten.

Als u overschrijft OnCmdMsg, moet u de juiste waarde opgeven voor nCode, de meldingscode voor de opdracht en pExtra, die afhankelijk is van de waarde van nCode. De volgende tabel bevat de bijbehorende waarden:

nCode waarde pExtra waarde
CN_COMMAND CCmdUI*
CN_EVENT AFX_EVENT*
CN_UPDATE_COMMAND_UI CCmdUI*
CN_OLECOMMAND COleCmdUI*
CN_OLE_UNREGISTER NULL

Voorbeeld

// 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

Aangeroepen door het framework wanneer de laatste OLE-verwijzing naar of van het object wordt vrijgegeven.

virtual void OnFinalRelease();

Opmerkingen

Overschrijf deze functie om speciale afhandeling voor deze situatie te bieden. Met de standaard implementatie wordt het object verwijderd.

CCmdTarget::RestoreWaitCursor

Roep deze functie aan om de juiste zandlopercursor te herstellen nadat de systeemcursor is gewijzigd (bijvoorbeeld nadat een berichtvak is geopend en vervolgens is gesloten tijdens een lange bewerking).

void RestoreWaitCursor();

Voorbeeld

// 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
}

Zie ook

MFC-voorbeeld ACDUAL
CObject klasse
Hiërarchiegrafiek
CCmdUI klasse
CDocument klasse
CDocTemplate klasse
CWinApp klasse
CWnd klasse
CView klasse
CFrameWnd klasse
COleDispatchDriver klasse