Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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
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