CWinApp, classe

Classe de base à partir de laquelle vous dérivez un objet application Windows.

Syntaxe

class CWinApp : public CWinThread

Membres

Constructeurs publics

Nom Description
CWinApp ::CWinApp Construit un objet CWinApp.

Méthodes publiques

Nom Description
CWinApp ::AddDocTemplate Ajoute un modèle de document à la liste des modèles de documents disponibles de l’application.
CWinApp ::AddToRecentFileList Ajoute un nom de fichier à la liste des fichiers les plus récemment utilisés (MRU).
CWinApp ::ApplicationRecoveryCallback Appelé par l’infrastructure lorsque l’application quitte de façon inattendue.
CWinApp ::CloseAllDocuments Ferme tous les documents ouverts.
CWinApp ::CreatePrinterDC Crée un contexte d’appareil d’imprimante.
CWinApp ::D elRegTree Supprime une clé spécifiée et toutes ses sous-clés.
CWinApp ::D oMessageBox Implémente AfxMessageBox pour l’application.
CWinApp ::D oWaitCursor Active et désactive le curseur d’attente.
CWinApp ::EnableD2DSupport Active la prise en charge d’application D2D. Appelez cette méthode avant que la fenêtre principale soit initialisée.
CWinApp ::EnableHtmlHelp Implémente HTMLHelp pour l’application, plutôt que WinHelp.
CWinApp ::EnableTaskbarInteraction Active l’interaction de la barre des tâches.
CWinApp ::ExitInstance Remplacez le propre lorsque votre application se termine.
CWinApp ::GetApplicationRecoveryParameter Récupère le paramètre d’entrée de la méthode de récupération d’application.
CWinApp ::GetApplicationRecoveryPingInterval Retourne la durée pendant laquelle le gestionnaire de redémarrage attend que la fonction de rappel de récupération retourne.
CWinApp ::GetApplicationRestartFlags Retourne les indicateurs du gestionnaire de redémarrage.
CWinApp ::GetAppRegistryKey Retourne la clé pour HKEY_CURRENT_USER\"Software"\RegistryKey\ProfileName.
CWinApp ::GetDataRecoveryHandler Obtient le gestionnaire de récupération de données pour cette instance de l’application.
CWinApp ::GetFirstDocTemplatePosition Récupère la position du premier modèle de document.
CWinApp ::GetHelpMode Récupère le type d’aide utilisé par l’application.
CWinApp ::GetNextDocTemplate Récupère la position d’un modèle de document. Peut être utilisé de manière récursive.
CWinApp ::GetPrinterDeviceDefaults Récupère les valeurs par défaut de l’appareil d’imprimante.
CWinApp ::GetProfileBinary Récupère des données binaires à partir d’une entrée dans les données binaires de l’application. Fichier INI.
CWinApp ::GetProfileInt Récupère un entier à partir d’une entrée dans l’application. Fichier INI.
CWinApp ::GetProfileString Récupère une chaîne à partir d’une entrée dans l’application. Fichier INI.
CWinApp ::GetSectionKey Retourne la clé pour HKEY_CURRENT_USER\"Software"\RegistryKey\AppName\lpszSection.
CWinApp ::HideApplication Masque l’application avant de fermer tous les documents.
CWinApp ::HtmlHelp Appelle la HTMLHelp fonction Windows.
CWinApp ::InitInstance Remplacez l’initialisation de l’instance Windows, par exemple la création de vos objets de fenêtre.
CWinApp ::IsTaskbarInteractionEnabled Indique si l’interaction de la barre des tâches Windows 7 est activée.
CWinApp ::LoadCursor Charge une ressource de curseur.
CWinApp ::LoadIcon Charge une ressource d’icône.
CWinApp ::LoadOEMCursor Charge un curseur OEM Windows prédéfini que les constantes OCR_ spécifient dans WINDOWS.H.
CWinApp ::LoadOEMIcon Charge une icône prédéfinie Windows OEM que les constantes OIC_ spécifient dans WINDOWS.H.
CWinApp ::LoadStandardCursor Charge un curseur prédéfini Windows que les constantes IDC_ spécifient dans WINDOWS.H.
CWinApp ::LoadStandardIcon Charge une icône prédéfinie Windows que les constantes IDI_ spécifient dans WINDOWS.H.
CWinApp ::OnDDECommand Appelé par l’infrastructure en réponse à une commande d’exécution d’échange de données dynamique (DDE).
CWinApp ::OnIdle Remplacez l’exécution d’un traitement d’inactivité spécifique à l’application.
CWinApp ::OpenDocumentFile Appelé par l’infrastructure pour ouvrir un document à partir d’un fichier.
CWinApp ::P arseCommandLine Analyse les paramètres et indicateurs individuels dans la ligne de commande.
CWinApp ::P reTranslateMessage Filtre les messages avant qu’ils ne soient distribués aux fonctions Windows TranslateMessage et DispatchMessage.
CWinApp ::P rocessMessageFilter Intercepte certains messages avant d’atteindre l’application.
CWinApp ::P rocessShellCommand Gère les arguments et indicateurs de ligne de commande.
CWinApp ::P rocessWndProcException Intercepte toutes les exceptions non gérées levées par le message et les gestionnaires de commandes de l’application.
CWinApp ::Register Effectue une inscription personnalisée.
CWinApp ::RegisterWithRestartManager Inscrit l’application auprès du gestionnaire de redémarrage.
CWinApp ::ReopenPreviousFilesAtRestart Détermine si le gestionnaire de redémarrage rouvre les fichiers ouverts lorsque l’application s’est terminée de manière inattendue.
CWinApp ::RestartInstance Gère un redémarrage d’application initié par le gestionnaire de redémarrage.
CWinApp ::RestoreAutosavedFilesAtRestart Détermine si le gestionnaire de redémarrage restaure les fichiers enregistrés automatiquement lors du redémarrage de l’application.
CWinApp ::Run Exécute la boucle de message par défaut. Remplacez cette option pour personnaliser la boucle de message.
CWinApp ::RunAutomated Teste la ligne de commande de l’application pour l’option /Automation . Obsolète. Utilisez plutôt la valeur dans CCommandLineInfo ::m_bRunAutomated après avoir appelé ParseCommandLine.
CWinApp ::RunEmbedded Teste la ligne de commande de l’application pour l’option /Embedding . Obsolète. Utilisez plutôt la valeur dans CCommandLineInfo ::m_bRunEmbedded après avoir appelé ParseCommandLine.
CWinApp ::SaveAllModified Invite l’utilisateur à enregistrer tous les documents modifiés.
CWinApp ::SelectPrinter Sélectionne une imprimante précédemment indiquée par un utilisateur via une boîte de dialogue d’impression.
CWinApp ::SetHelpMode Définit et initialise le type d’aide utilisé par l’application.
CWinApp ::SupportsApplicationRecovery Détermine si le gestionnaire de redémarrage récupère une application qui s’est terminée de façon inattendue.
CWinApp ::SupportsAutosaveAtInterval Détermine si le gestionnaire de redémarrage enregistre automatiquement les documents à intervalles réguliers.
CWinApp ::SupportsAutosaveAtRestart Détermine si le gestionnaire de redémarrage enregistre automatiquement les documents ouverts lorsque l’application redémarre.
CWinApp ::SupportsRestartManager Détermine si l’application prend en charge le gestionnaire de redémarrage.
CWinApp ::Unregister Annule l’inscription de tout ce qui est connu pour être inscrit par l’objet CWinApp .
CWinApp ::WinHelp Appelle la WinHelp fonction Windows.
CWinApp ::WriteProfileBinary Écrit des données binaires dans une entrée dans l’application. Fichier INI.
CWinApp ::WriteProfileInt Écrit un entier dans une entrée dans l’application. Fichier INI.
CWinApp ::WriteProfileString Écrit une chaîne dans une entrée dans l’application. Fichier INI.

Méthodes protégées

Nom Description
CWinApp ::EnableShellOpen Permet à l’utilisateur d’ouvrir des fichiers de données à partir du Gestionnaire de fichiers Windows.
CWinApp ::LoadStdProfile Paramètres Charge standard . Les paramètres de fichier INI et activent la fonctionnalité de liste de fichiers MRU.
CWinApp ::OnContextHelp Gère l’aide MAJ+F1 dans l’application.
CWinApp ::OnFileNew Implémente la commande ID_FILE_NEW.
CWinApp ::OnFileOpen Implémente la commande ID_FILE_OPEN.
CWinApp ::OnFilePrintSetup Implémente la commande ID_FILE_PRINT_SETUP.
CWinApp ::OnHelp Gère l'aide F1 dans l'application (en utilisant le contexte actuel).
CWinApp ::OnHelpFinder Gère les commandes ID_HELP_FINDER et ID_DEFAULT_HELP.
CWinApp ::OnHelpIndex Gère la commande ID_HELP_INDEX et fournit une rubrique d’aide par défaut.
CWinApp ::OnHelpUsing Gère la commande ID_HELP_USING.
CWinApp ::RegisterShellFileTypes Inscrit tous les types de documents de l’application auprès du Gestionnaire de fichiers Windows.
CWinApp ::SetAppID Définit explicitement l’ID de modèle utilisateur de l’application. Cette méthode doit être appelée avant qu’une interface utilisateur soit présentée à l’utilisateur (le meilleur emplacement est le constructeur d’application).
CWinApp ::SetRegistryKey Provoque le stockage des paramètres d’application dans le Registre au lieu de . Fichiers INI.
CWinApp ::UnregisterShellFileTypes Annule l’inscription de tous les types de documents de l’application avec le Gestionnaire de fichiers Windows.

Membres de données publics

Nom Description
CWinApp ::m_bHelpMode Indique si l’utilisateur est en mode contexte d’aide (généralement appelé avec MAJ+F1).
CWinApp ::m_eHelpType Spécifie le type d’aide utilisé par l’application.
CWinApp ::m_hInstance Identifie l’instance actuelle de l’application.
CWinApp ::m_lpCmdLine Pointe vers une chaîne terminée par null qui spécifie la ligne de commande de l’application.
CWinApp ::m_nCmdShow Spécifie la façon dont la fenêtre doit être affichée initialement.
CWinApp ::m_pActiveWnd Pointeur vers la fenêtre principale de l’application conteneur lorsqu’un serveur OLE est actif.
CWinApp ::m_pszAppID ID de modèle utilisateur de l’application.
CWinApp ::m_pszAppName Spécifie le nom de l'application.
CWinApp ::m_pszExeName Nom du module de l’application.
CWinApp ::m_pszHelpFilePath Chemin d’accès au fichier d’aide de l’application.
CWinApp ::m_pszProfileName L’application est . Nom de fichier INI.
CWinApp ::m_pszRegistryKey Permet de déterminer la clé de Registre complète pour le stockage des paramètres de profil d’application.

Membres de données protégés

Nom Description
CWinApp ::m_dwRestartManagerSupportFlags Indicateurs qui déterminent le comportement du gestionnaire de redémarrage.
CWinApp ::m_nAutosaveInterval Durée en millisecondes entre les enregistrements automatiques.
CWinApp ::m_pDataRecoveryHandler Pointeur vers le gestionnaire de récupération de données pour l’application.

Notes

Un objet d’application fournit des fonctions membres pour initialiser votre application (et chaque instance de celle-ci) et pour exécuter l’application.

Chaque application qui utilise les classes Microsoft Foundation ne peut contenir qu’un seul objet dérivé de CWinApp. Cet objet est construit lorsque d’autres objets globaux C++ sont construits et sont déjà disponibles lorsque Windows appelle la WinMain fonction, fournie par la bibliothèque de classes Microsoft Foundation. Déclarez votre objet dérivé CWinApp au niveau global.

Lorsque vous dérivez une classe d’application, CWinAppremplacez la fonction membre InitInstance pour créer l’objet de fenêtre principale de votre application.

Outre les CWinApp fonctions membres, la bibliothèque de classes Microsoft Foundation fournit les fonctions globales suivantes pour accéder à votre CWinApp objet et à d’autres informations globales :

  • AfxGetApp Obtient un pointeur vers l’objet CWinApp .

  • AfxGetInstanceHandle obtient un handle pour l’instance d’application actuelle.

  • AfxGetResourceHandle obtient un handle pour les ressources de l’application.

  • AfxGetAppName obtient un pointeur vers une chaîne contenant le nom de l’application. Sinon, si vous avez un pointeur vers l’objet CWinApp , utilisez m_pszExeName pour obtenir le nom de l’application.

Consultez CWinApp : Classe d’application pour plus d’informations sur la CWinApp classe, notamment une vue d’ensemble des éléments suivants :

  • CWinApp-code dérivé écrit par l’Assistant Application.

  • CWinApprôle dans la séquence d’exécution de votre application.

  • CWinAppimplémentations de fonction membre par défaut.

  • CWinApples clés substituables.

Le m_hPrevInstance membre de données n’existe plus. Pour déterminer si une autre instance de l’application est en cours d’exécution, utilisez un mutex nommé. Si l’ouverture du mutex échoue, il n’existe aucune autre instance de l’application en cours d’exécution.

Hiérarchie d'héritage

CObject

CCmdTarget

CWinThread

CWinApp

Spécifications

En-tête : afxwin.h

CWinApp ::AddDocTemplate

Appelez cette fonction membre pour ajouter un modèle de document à la liste des modèles de documents disponibles que l’application gère.

void AddDocTemplate(CDocTemplate* pTemplate);

Paramètres

pTemplate
Pointeur vers le CDocTemplate pointeur à ajouter.

Notes

Vous devez ajouter tous les modèles de document à une application avant d’appeler RegisterShellFileTypes.

Exemple

// The following code is produced by the Application Wizard when you
// choose the MDI (multiple document interface) option.
CMultiDocTemplate *pDocTemplate;
pDocTemplate = new CMultiDocTemplate(IDR_MYTYPE,
                                     RUNTIME_CLASS(CMyDoc),
                                     RUNTIME_CLASS(CChildFrame), // custom MDI child frame
                                     RUNTIME_CLASS(CMyView));
if (!pDocTemplate)
   return FALSE;
AddDocTemplate(pDocTemplate);

CWinApp ::AddToRecentFileList

Appelez cette fonction membre pour ajouter lpszPathName à la liste des fichiers MRU.

virtual void AddToRecentFileList(LPCTSTR lpszPathName);

Paramètres

lpszPathName
Chemin d’accès au fichier.

Notes

Vous devez appeler la fonction membre LoadStdProfile Paramètres pour charger la liste de fichiers MRU actuelle avant d’utiliser cette fonction membre.

L’infrastructure appelle cette fonction membre lorsqu’elle ouvre un fichier ou exécute la commande Enregistrer sous pour enregistrer un fichier avec un nouveau nom.

Exemple

// This adds the pathname c:\temp\test.doc to the top of
// the most recently used (MRU) list in the File menu.
AfxGetApp()->AddToRecentFileList(_T("c:\\temp\\test.doc"));

CWinApp ::ApplicationRecoveryCallback

Appelé par l’infrastructure lorsque l’application quitte de façon inattendue.

virtual DWORD ApplicationRecoveryCallback(LPVOID lpvParam);

Paramètres

lpvParam
[in] Réservé pour une future utilisation.

Valeur de retour

0 si cette méthode réussit ; différent de zéro si une erreur se produit.

Notes

Si votre application prend en charge le gestionnaire de redémarrage, l’infrastructure appelle cette fonction lorsque votre application se ferme de manière inattendue.

Implémentation par défaut d’utilisation ApplicationRecoveryCallback pour CDataRecoveryHandler enregistrer la liste des documents actuellement ouverts dans le Registre. Cette méthode n’enregistre pas automatiquement les fichiers.

Pour personnaliser le comportement, remplacez cette fonction dans une classe CWinApp dérivée ou transmettez votre propre méthode de récupération d’application en tant que paramètre à CWinApp ::RegisterWithRestartManager.

CWinApp ::CloseAllDocuments

Appelez cette fonction membre pour fermer tous les documents ouverts avant de quitter.

void CloseAllDocuments(BOOL bEndSession);

Paramètres

bEndSession
Spécifie si la session Windows est terminée ou non. Il est VRAI si la session est terminée ; sinon FALSE.

Notes

Appelez HideApplication avant d’appeler CloseAllDocuments.

CWinApp ::CreatePrinterDC

Appelez cette fonction membre pour créer un contexte d’appareil d’imprimante (DC) à partir de l’imprimante sélectionnée.

BOOL CreatePrinterDC(CDC& dc);

Paramètres

dc
Référence à un contexte d’appareil d’imprimante.

Valeur de retour

Différent de zéro si le contexte de l’appareil d’imprimante est créé avec succès ; sinon 0.

Notes

CreatePrinterDC initialise le contexte de l’appareil que vous transmettez par référence, afin de pouvoir l’utiliser pour imprimer.

Si la fonction réussit, lorsque vous avez terminé l’impression, vous devez détruire le contexte de l’appareil. Vous pouvez laisser le destructeur de l’objet CDC le faire, ou vous pouvez le faire explicitement en appelant CDC ::D eleteDC.

CWinApp ::CWinApp

Construit un CWinApp objet et transmet lpszAppName pour être stocké en tant que nom d’application.

CWinApp(LPCTSTR lpszAppName = NULL);

Paramètres

lpszAppName
Chaîne terminée par null qui contient le nom de l’application que Windows utilise. Si cet argument n’est pas fourni ou est NULL, CWinApp utilise la chaîne de ressource AFX_IDS_APP_TITLE ou le nom de fichier exécutable.

Notes

Vous devez construire un objet global de votre CWinAppclasse dérivée. Vous ne pouvez avoir qu’un CWinApp seul objet dans votre application. Le constructeur stocke un pointeur vers l’objet CWinApp pour pouvoir WinMain appeler les fonctions membres de l’objet pour initialiser et exécuter l’application.

CWinApp ::D elRegTree

Supprime une clé de Registre spécifique et toutes ses sous-clés.

LONG DelRegTree(
    HKEY hParentKey,
    const CString& strKeyName);

LONG DelRegTree(
    HKEY hParentKey,
    const CString& strKeyName,
    CAtlTransactionManager* pTM = NULL);

Paramètres

hParentKey
Gérer vers une clé de Registre.

strKeyName
Nom de la clé de Registre à supprimer.

Ptm
Pointeur vers l’objet CAtlTransactionManager.

Valeur de retour

Si la fonction réussit, la valeur de retour est ERROR_SUCCESS. Si la fonction échoue, la valeur de retour est un code d’erreur différent de zéro défini dans Winerror.h.

Notes

Appelez cette fonction pour supprimer la clé spécifiée et ses sous-clés.

CWinApp ::D oMessageBox

L’infrastructure appelle cette fonction membre pour implémenter une boîte de message pour la fonction globale AfxMessageBox.

virtual int DoMessageBox(
    LPCTSTR lpszPrompt,
    UINT nType,
    UINT nIDPrompt);

Paramètres

lpszPrompt
Adresse du texte dans la zone de message.

nType
Style de zone de message.

nIDPrompt
Index d’une chaîne de contexte d’aide.

Valeur de retour

Retourne les mêmes valeurs que AfxMessageBox.

Notes

N’appelez pas cette fonction membre pour ouvrir une boîte de message ; utilisez AfxMessageBox à la place.

Remplacez cette fonction membre pour personnaliser le traitement à l’échelle de l’application des AfxMessageBox appels.

CWinApp ::D oWaitCursor

Cette fonction membre est appelée par l’infrastructure pour implémenter CWaitCursor, CCmdTarget ::BeginWaitCursor, CCmdTarget ::EndWaitCursor et CCmdTarget ::RestoreWaitCursor.

virtual void DoWaitCursor(int nCode);

Paramètres

nCode
Si ce paramètre est 1, un curseur d’attente s’affiche. Si 0, le curseur d’attente est restauré sans incrémenter le nombre de références. Si -1, le curseur d’attente se termine.

Notes

La valeur par défaut implémente un curseur de sablier. DoWaitCursor conserve un nombre de références. Lorsqu’il est positif, le curseur de sablier s’affiche.

Bien que vous n’appeliez DoWaitCursor pas directement, vous pouvez remplacer cette fonction membre pour modifier le curseur d’attente ou effectuer un traitement supplémentaire pendant l’affichage du curseur d’attente.

Pour faciliter et simplifier l’implémentation d’un curseur d’attente, utilisez CWaitCursor.

Exemple

// The following example shows how to display the
// hourglass cursor during some lengthy processing
void CMdiView::OnLButtonDown(UINT nFlags, CPoint point)
{
   UNREFERENCED_PARAMETER(nFlags);
   UNREFERENCED_PARAMETER(point);

   AfxGetApp()->DoWaitCursor(1); // 1->>display the hourglass cursor

   // do some lengthy processing
   Sleep(1000);

   AfxGetApp()->DoWaitCursor(-1); // -1->>remove the hourglass cursor
}

// The next example shows DoWaitCursor with parameter 0. It restores
// the hourglass cursor.
void CMdiView::OnMButtonDown(UINT nFlags, CPoint point)
{
   UNREFERENCED_PARAMETER(nFlags);
   UNREFERENCED_PARAMETER(point);

   AfxGetApp()->DoWaitCursor(1); // display the hourglass cursor

   // do some lengthy processing

   // The message box will normally change the cursor to
   // the standard arrow cursor, and leave the cursor in
   // as the standard arrow cursor when the message box is
   // closed.
   AfxMessageBox(_T("DoWaitCursor Sample"));

   // Call DoWaitCursor with parameter 0 to restore
   // the cursor back to the hourglass cursor.
   AfxGetApp()->DoWaitCursor(0);

   // do some more lengthy processing
   Sleep(1000);

   AfxGetApp()->DoWaitCursor(-1); // remove the hourglass cursor
}

CWinApp ::EnableD2DSupport

Visual Studio 2010 SP1 est requis

Active la prise en charge d’application D2D. Appelez cette méthode avant que la fenêtre principale soit initialisée.

BOOL EnableD2DSupport(
    D2D1_FACTORY_TYPE d2dFactoryType = D2D1_FACTORY_TYPE_SINGLE_THREADED,
    DWRITE_FACTORY_TYPE writeFactoryType = DWRITE_FACTORY_TYPE_SHARED);

Paramètres

d2dFactoryType
Modèle de thread de la fabrique D2D et les ressources qu’il crée.

writeFactoryType
Valeur qui spécifie si l’objet de fabrique d’écriture sera partagé ou isolé

Valeur de retour

Retourne TRUE si la prise en charge de D2D a été activée, FALSE - sinon

CWinApp ::EnableHtmlHelp

Appelez cette fonction membre à partir du constructeur de votre CWinAppclasse dérivée pour utiliser HTMLHelp pour l’aide de votre application.

void EnableHtmlHelp();

Notes

CWinApp ::EnableShellOpen

Appelez cette fonction, généralement à partir de votre InitInstance remplacement, pour permettre aux utilisateurs de votre application d’ouvrir des fichiers de données lorsqu’ils double-cliquez sur les fichiers à partir du Gestionnaire de fichiers Windows.

void EnableShellOpen();

Notes

Appelez la RegisterShellFileTypes fonction membre conjointement avec cette fonction ou fournissez un . Fichier REG avec votre application pour l’inscription manuelle des types de documents.

Exemple

// The following code fragment is from CMyApp::InitInstance.
// CMyApp is a CWinApp-derived class.

// enable file manager drag/drop and DDE Execute open
EnableShellOpen();
RegisterShellFileTypes();

CWinApp ::EnableTaskbarInteraction

Active l’interaction de la barre des tâches.

BOOL EnableTaskbarInteraction(BOOL bEnable = TRUE);

Paramètres

bEnable
Spécifie si l’interaction avec la barre des tâches Windows 7 doit être activée (TRUE) ou désactivée (FALSE).

Valeur de retour

Retourne TRUE si l’interaction de barre des tâches peut être activée ou désactivée.

Notes

Cette méthode doit être appelée avant la création de la fenêtre principale, sinon elle affirme et retourne FALSE.

CWinApp ::ExitInstance

Appelé par l’infrastructure à partir de la Run fonction membre pour quitter cette instance de l’application.

virtual int ExitInstance();

Valeur de retour

Code de sortie de l’application ; 0 indique aucune erreur et les valeurs supérieures à 0 indiquent une erreur. Cette valeur est utilisée comme valeur de retour de WinMain.

Notes

N’appelez pas cette fonction membre n’importe où, mais dans la Run fonction membre.

L’implémentation par défaut de cette fonction écrit les options d’infrastructure dans l’application. Fichier INI. Remplacez cette fonction pour propre à la fin de votre application.

Exemple

int CMyApp::ExitInstance()
{
   if (m_pMySampleMem)
      delete m_pMySampleMem;

   DoCleanup();

   return CWinApp::ExitInstance();
}

CWinApp ::GetApplicationRecoveryParameter

Récupère le paramètre d’entrée de la méthode de récupération d’application.

virtual LPVOID GetApplicationRecoveryParameter();

Valeur de retour

Paramètre d’entrée par défaut pour la méthode de récupération d’application.

Notes

Le comportement par défaut de cette fonction retourne NULL.

Pour plus d’informations, consultez CWinApp ::ApplicationRecoveryCallback.

CWinApp ::GetApplicationRecoveryPingInterval

Retourne la durée pendant laquelle le gestionnaire de redémarrage attend que la fonction de rappel de récupération retourne.

virtual DWORD GetApplicationRecoveryPingInterval();

Valeur de retour

Durée en millisecondes.

Notes

Lorsqu’une application inscrite auprès du gestionnaire de redémarrage se ferme de façon inattendue, l’application tente d’enregistrer des documents ouverts et appelle la fonction de rappel de récupération. La fonction de rappel de récupération par défaut est CWinApp ::ApplicationRecoveryCallback.

La durée pendant laquelle l’infrastructure attend le retour de la fonction de rappel de récupération est l’intervalle ping. Vous pouvez personnaliser l’intervalle ping en CWinApp::GetApplicationRecoveryPingInterval remplaçant ou en fournissant une valeur personnalisée à RegisterWithRestartManager.

CWinApp ::GetApplicationRestartFlags

Retourne les indicateurs du gestionnaire de redémarrage.

virtual DWORD GetApplicationRestartFlags();

Valeur de retour

Indicateurs du gestionnaire de redémarrage. L’implémentation par défaut retourne 0.

Notes

Les indicateurs du gestionnaire de redémarrage n’ont aucun effet avec l’implémentation par défaut. Ils sont fournis pour une utilisation future.

Vous définissez les indicateurs lorsque vous inscrivez l’application auprès du gestionnaire de redémarrage à l’aide de CWinApp ::RegisterWithRestartManager.

Les valeurs possibles pour les indicateurs du gestionnaire de redémarrage sont les suivantes :

  • RESTART_NO_CRASH

  • RESTART_NO_HANG

  • RESTART_NO_PATCH

  • RESTART_NO_REBOOT

CWinApp ::GetAppRegistryKey

Retourne la clé de HKEY_CURRENT_USER\"Software"\RegistryKey\ProfileName.

HKEY GetAppRegistryKey(CAtlTransactionManager* pTM = NULL);

Paramètres

Ptm
Pointeur vers un CAtlTransactionManager objet.

Valeur de retour

Clé d’application si la fonction réussit ; sinon NULL.

Notes

CWinApp ::GetDataRecoveryHandler

Obtient le gestionnaire de récupération de données pour cette instance de l’application.

virtual CDataRecoveryHandler *GetDataRecoveryHandler();

Valeur de retour

Gestionnaire de récupération de données pour cette instance de l’application.

Notes

Chaque application qui utilise le gestionnaire de redémarrage doit avoir une instance de la classe CDataRecoveryHandler. Cette classe est responsable de la surveillance des documents ouverts et de l’enregistrement automatique des fichiers. Le comportement du CDataRecoveryHandler gestionnaire de redémarrage dépend de la configuration du gestionnaire de redémarrage. Pour plus d’informations, consultez CDataRecoveryHandler, classe.

Cette méthode retourne NULL sur les systèmes d’exploitation antérieurs à Windows Vista. Le gestionnaire de redémarrage n’est pas pris en charge sur les systèmes d’exploitation antérieurs à Windows Vista.

Si l’application ne dispose actuellement pas d’un gestionnaire de récupération de données, cette méthode en crée une et retourne un pointeur vers celui-ci.

CWinApp ::GetFirstDocTemplatePosition

Obtient la position du premier modèle de document dans l’application.

POSITION GetFirstDocTemplatePosition() const;

Valeur de retour

Valeur POSITION qui peut être utilisée pour l’itération ou la récupération du pointeur d’objet ; NULL si la liste est vide.

Notes

Utilisez la valeur POSITION retournée dans un appel à GetNextDocTemplate pour obtenir le premier objet CDocTemplate .

CWinApp ::GetHelpMode

Récupère le type d’aide utilisé par l’application.

AFX_HELP_TYPE GetHelpMode();

Valeur de retour

Type d’aide utilisé par l’application. Pour plus d’informations, consultez CWinApp ::m_eHelpType .

CWinApp ::GetNextDocTemplate

Obtient le modèle de document identifié par pos, puis définit pos sur la valeur POSITION.

CDocTemplate* GetNextDocTemplate(POSITION& pos) const;

Paramètres

pos
Référence à une valeur POSITION retournée par un appel précédent à GetNextDocTemplate ou GetFirstDocTemplatePosition. La valeur est mise à jour à la position suivante par cet appel.

Valeur de retour

Pointeur vers un objet CDocTemplate .

Notes

Vous pouvez utiliser GetNextDocTemplate dans une boucle d’itération avant si vous établissez la position initiale avec un appel à GetFirstDocTemplatePosition.

Vous devez vous assurer que votre valeur POSITION est valide. S’il n’est pas valide, la version de débogage de la bibliothèque de classes Microsoft Foundation affirme.

Si le modèle de document récupéré est le dernier disponible, la nouvelle valeur de pos est définie sur NULL.

CWinApp ::GetPrinterDeviceDefaults

Appelez cette fonction membre pour préparer un contexte d’appareil d’imprimante pour l’impression.

BOOL GetPrinterDeviceDefaults(struct tagPDA* pPrintDlg);

Paramètres

pPrintDlg
Pointeur vers une structure PRINTDLG .

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Récupère les valeurs par défaut de l’imprimante actuelle à partir de Windows . Le fichier INI le cas échéant ou utilise la dernière configuration de l’imprimante définie par l’utilisateur dans le programme d’installation d’impression.

Exemple

void CMyApp::SetLandscapeMode()
{
   PRINTDLG pd;
   pd.lStructSize = (DWORD)sizeof(PRINTDLG);
   BOOL bRet = GetPrinterDeviceDefaults(&pd);
   if (bRet)
   {
      // protect memory handle with ::GlobalLock and ::GlobalUnlock
      DEVMODE FAR *pDevMode = (DEVMODE FAR*)::GlobalLock(pd.hDevMode);
      // set orientation to landscape
      pDevMode->dmOrientation = DMORIENT_LANDSCAPE;
      ::GlobalUnlock(pd.hDevMode);
   }
}

CWinApp ::GetProfileBinary

Appelez cette fonction membre pour récupérer des données binaires à partir d’une entrée dans une section spécifiée du Registre de l’application ou . Fichier INI.

BOOL GetProfileBinary(
    LPCTSTR lpszSection,
    LPCTSTR lpszEntry,
    LPBYTE* ppData,
    UINT* pBytes);

Paramètres

lpszSection
Pointe vers une chaîne terminée par null qui spécifie la section contenant l’entrée.

lpszEntry
Pointe vers une chaîne terminée par null qui contient l’entrée dont la valeur doit être récupérée.

ppData
Pointe vers un pointeur qui recevra l’adresse des données.

octets
Pointe vers un UINT qui recevra la taille des données (en octets).

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Cette fonction membre n’est pas sensible à la casse. Par conséquent, les chaînes des paramètres lpszSection et lpszEntry peuvent différer dans le cas.

Remarque

GetProfileBinary alloue une mémoire tampon et retourne son adresse dans * ppData. L’appelant est chargé de libérer la mémoire tampon à l’aide de delete [].

Important

Les données retournées par cette fonction ne sont pas nécessairement null terminées, et l’appelant doit effectuer la validation. Pour plus d’informations, consultez Solutions contre les dépassements de mémoire tampon.

Exemple

CWinApp* pApp = AfxGetApp();

const TCHAR* pszKey = _T("My Section");
struct complex {
  double re, im;
} myData = { 1.4142, -0.5 };

// Write the information to the registry.

pApp->WriteProfileBinary(pszKey, _T("ComplexData"), (LPBYTE)&myData, 
   sizeof(myData));

// Read the information from the registry.

complex* pData;
UINT n;
BOOL ret = pApp->GetProfileBinary(pszKey, _T("ComplexData"), (LPBYTE*)&pData, 
   &n);

ASSERT(ret);
ASSERT(n == sizeof(complex));
ASSERT(myData.re == pData->re);
ASSERT(myData.im == pData->im);
delete [] pData; // free the buffer

Pour obtenir un exemple supplémentaire, consultez CWinApp ::WriteProfileBinary.

CWinApp ::GetProfileInt

Appelez cette fonction membre pour récupérer la valeur d’un entier à partir d’une entrée dans une section spécifiée du registre de l’application ou . Fichier INI.

UINT GetProfileInt(
    LPCTSTR lpszSection,
    LPCTSTR lpszEntry,
    int nDefault);

Paramètres

lpszSection
Pointe vers une chaîne terminée par null qui spécifie la section contenant l’entrée.

lpszEntry
Pointe vers une chaîne terminée par null qui contient l’entrée dont la valeur doit être récupérée.

nDefault
Spécifie la valeur par défaut à retourner si l’infrastructure ne trouve pas l’entrée.

Valeur de retour

Valeur entière de la chaîne qui suit l’entrée spécifiée si la fonction réussit. La valeur de retour est la valeur du paramètre nDefault si la fonction ne trouve pas l’entrée. La valeur de retour est 0 si la valeur qui correspond à l’entrée spécifiée n’est pas un entier.

Cette fonction membre prend en charge la notation hexadécimale pour la valeur dans le . Fichier INI. Lorsque vous récupérez un entier signé, vous devez convertir la valeur en un int.

Notes

Cette fonction membre n’est pas sensible à la casse. Par conséquent, les chaînes des paramètres lpszSection et lpszEntry peuvent différer dans le cas.

Important

Les données retournées par cette fonction ne sont pas nécessairement null terminées, et l’appelant doit effectuer la validation. Pour plus d’informations, consultez Solutions contre les dépassements de mémoire tampon.

Exemple

CWinApp *pApp = AfxGetApp();

const TCHAR *pszKey = _T("My Section");
const TCHAR *pszName = _T("Julian");
int iAge = 26;

// Write the information to the registry.

pApp->WriteProfileString(pszKey, _T("Name"), pszName);
pApp->WriteProfileInt(pszKey, _T("Age"), iAge);

// Read the information from the registry.

CString strName = pApp->GetProfileString(pszKey, _T("Name"));
int iAge2 = pApp->GetProfileInt(pszKey, _T("Age"), 0);

ASSERT(strName == pszName);
ASSERT(iAge2 == iAge);

Pour obtenir un exemple supplémentaire, consultez CWinApp ::WriteProfileInt.

CWinApp ::GetProfileString

Appelez cette fonction membre pour récupérer la chaîne associée à une entrée dans la section spécifiée dans le Registre de l’application ou . Fichier INI.

CString GetProfileString(
    LPCTSTR lpszSection,
    LPCTSTR lpszEntry,
    LPCTSTR lpszDefault = NULL);

Paramètres

lpszSection
Pointe vers une chaîne terminée par null qui spécifie la section contenant l’entrée.

lpszEntry
Pointe vers une chaîne terminée par null qui contient l’entrée dont la chaîne doit être récupérée. Cette valeur ne doit pas être NULL.

lpszDefault
Pointe vers la valeur de chaîne par défaut de l’entrée donnée si l’entrée est introuvable dans le fichier d’initialisation.

Valeur de retour

La valeur de retour est la chaîne de l’application. Fichier INI ou lpszDefault si la chaîne est introuvable. La longueur maximale de chaîne prise en charge par l’infrastructure est _MAX_PATH. Si lpszDefault a la valeur NULL, la valeur de retour est une chaîne vide.

Notes

Important

Les données retournées par cette fonction ne sont pas nécessairement null terminées, et l’appelant doit effectuer la validation. Pour plus d’informations, consultez Solutions contre les dépassements de mémoire tampon.

Exemple

CWinApp *pApp = AfxGetApp();

CString strSection = _T("My Section");
CString strStringItem = _T("My String Item");
CString strIntItem = _T("My Int Item");

pApp->WriteProfileString(strSection, strStringItem, _T("test"));

CString strValue;
strValue = pApp->GetProfileString(strSection, strStringItem);
ASSERT(strValue == _T("test"));

pApp->WriteProfileInt(strSection, strIntItem, 1234);

int nValue;
nValue = pApp->GetProfileInt(strSection, strIntItem, 0);
ASSERT(nValue == 1234);

Pour obtenir un autre exemple, consultez l’exemple de CWinApp ::GetProfileInt.

CWinApp ::GetSectionKey

Retourne la clé de HKEY_CURRENT_USER\"Software"\RegistryKey\AppName\lpszSection.

HKEY GetSectionKey(
    LPCTSTR lpszSection,
    CAtlTransactionManager* pTM = NULL);

Paramètres

lpszSection
Nom de la clé à obtenir.

Ptm
Pointeur vers un CAtlTransactionManager objet.

Valeur de retour

Clé de section si la fonction réussit ; sinon NULL.

Notes

CWinApp ::HideApplication

Appelez cette fonction membre pour masquer une application avant de fermer les documents ouverts.

void HideApplication();

CWinApp ::HtmlHelp

Appelez cette fonction membre pour appeler l’application HTMLHelp.

virtual void HtmlHelp(
    DWORD_PTR dwData,
    UINT nCmd = 0x000F);

Paramètres

dwData
Spécifie des données supplémentaires. La valeur utilisée dépend de la valeur du paramètre nCmd . Valeurs par défaut, c’est-à-dire 0x000FHH_HELP_CONTEXT.

nCmd
Spécifie le type d’aide demandée. Pour obtenir la liste des valeurs possibles et leur impact sur le paramètre dwData , consultez le paramètre uCommand décrit dans les fonctions de l’API HtmlHelpW ou HtmlHelpA dans le Kit de développement logiciel (SDK) Windows.

Notes

L’infrastructure appelle également cette fonction pour appeler l’application HTMLHelp.

L’infrastructure ferme automatiquement l’application HTMLHelp lorsque votre application se termine.

CWinApp ::InitInstance

Windows permet à plusieurs copies du même programme de s’exécuter en même temps.

virtual BOOL InitInstance();

Valeur de retour

Différent de zéro si l’initialisation réussit ; sinon 0.

Notes

L’initialisation de l’application est divisée conceptuellement en deux sections : l’initialisation d’application ponctuelle effectuée la première fois que le programme s’exécute et l’initialisation d’instance qui s’exécute chaque fois qu’une copie du programme s’exécute, y compris la première fois. Implémentation de l’infrastructure des WinMain appels de cette fonction.

Remplacez InitInstance l’initialisation de chaque nouvelle instance de votre application s’exécutant sous Windows. En règle générale, vous remplacez la construction InitInstance de votre objet de fenêtre principale et définissez le membre de CWinThread::m_pMainWnd données pour qu’il pointe vers cette fenêtre. Pour plus d’informations sur la substitution de cette fonction membre, consultez CWinApp : The Application Class.

Remarque

Les applications MFC doivent être initialisées en tant qu’appartement monothread (STA). Si vous appelez CoInitializeEx dans votre InitInstance remplacement, spécifiez COINIT_APARTMENTTHREADED (plutôt que COINIT_MULTITHREADED).

Exemple

// AppWizard implements the InitInstance overridable function 
// according to options you select.  For example, the multiple document
// interface (MDI) option was chosen for the AppWizard code created
// below. You can add other per-instance initializations to the code
// created by AppWizard.

BOOL CMFCListViewApp::InitInstance()
{
   AfxSetAmbientActCtx(FALSE);
   // Remainder of function definition omitted.

   CWinApp::InitInstance();

   // Initialize OLE libraries
   if (!AfxOleInit())
   {
      AfxMessageBox(_T("OleInit failed."));
      return FALSE;
   }

   // Standard initialization
   // If you are not using these features and wish to reduce the size
   // of your final executable, you should remove from the following
   // the specific initialization routines you do not need
   // Change the registry key under which our settings are stored
   // TODO: You should modify this string to be something appropriate
   // such as the name of your company or organization
   SetRegistryKey(_T("Local AppWizard-Generated Applications"));
   LoadStdProfileSettings(4);  // Load standard INI file options (including MRU)
   // Register the application's document templates.  Document templates
   //  serve as the connection between documents, frame windows and views
   CMultiDocTemplate* pDocTemplate;
   pDocTemplate = new CMultiDocTemplate(IDR_MFCListViewTYPE,
      RUNTIME_CLASS(CMFCListViewDoc),
      RUNTIME_CLASS(CChildFrame), // custom MDI child frame
      RUNTIME_CLASS(CMyListView));
   if (!pDocTemplate)
      return FALSE;
   AddDocTemplate(pDocTemplate);

   // create main MDI Frame window
   CMainFrame* pMainFrame = new CMainFrame;
   if (!pMainFrame || !pMainFrame->LoadFrame(IDR_MAINFRAME))
   {
      delete pMainFrame;
      return FALSE;
   }
   m_pMainWnd = pMainFrame;
   // call DragAcceptFiles only if there's a suffix
   //  In an MDI app, this should occur immediately after setting m_pMainWnd


   // Parse command line for standard shell commands, DDE, file open
   CCommandLineInfo cmdInfo;
   ParseCommandLine(cmdInfo);


   // Dispatch commands specified on the command line.  Will return FALSE if
   // app was launched with /RegServer, /Register, /Unregserver or /Unregister.
   if (!ProcessShellCommand(cmdInfo))
      return FALSE;
   // The main window has been initialized, so show and update it
   pMainFrame->ShowWindow(m_nCmdShow);
   pMainFrame->UpdateWindow();

   return TRUE;
}

CWinApp ::IsTaskbarInteractionEnabled

Indique si l’interaction de la barre des tâches Windows 7 est activée.

virtual BOOL IsTaskbarInteractionEnabled();

Valeur de retour

Retourne TRUE si EnableTaskbarInteraction elle a été appelée et que le système d’exploitation est Windows 7 ou version ultérieure.

Notes

L’interaction de barre des tâches signifie que l’application MDI affiche le contenu des enfants MDI dans des miniatures à onglets distincts qui s’affichent lorsque le pointeur de la souris se trouve sur le bouton de la barre des tâches de l’application.

CWinApp ::LoadCursor

Charge la ressource de curseur nommée par lpszResourceName ou spécifiée par nIDResource à partir du fichier exécutable actuel.

HCURSOR LoadCursor(LPCTSTR lpszResourceName) const;  HCURSOR LoadCursor(UINT nIDResource) const;

Paramètres

lpszResourceName
Pointe vers une chaîne terminée par null qui contient le nom de la ressource de curseur. Vous pouvez utiliser un CString argument pour cet argument.

nIDResource
ID de la ressource de curseur. Pour obtenir la liste des ressources, consultez LoadCursor dans le Kit de développement logiciel (SDK) Windows.

Valeur de retour

Handle vers un curseur en cas de réussite ; sinon NULL.

Notes

LoadCursor charge le curseur en mémoire uniquement s’il n’a pas été précédemment chargé ; sinon, il récupère un handle de la ressource existante.

Utilisez la fonction membre LoadStandardCursor ou LoadOEMCursor pour accéder aux curseurs Windows prédéfinis.

Exemple

HCURSOR hCursor;

// Load a cursor resource that was originally created using
// the Graphics Editor and assigned the i.d. IDC_MYCURSOR.
hCursor = AfxGetApp()->LoadCursor(IDC_MYCURSOR);

CWinApp ::LoadIcon

Charge la ressource d’icône nommée par lpszResourceName ou spécifiée par nIDResource à partir du fichier exécutable.

HICON LoadIcon(LPCTSTR lpszResourceName) const;  HICON LoadIcon(UINT nIDResource) const;

Paramètres

lpszResourceName
Pointe vers une chaîne terminée par null qui contient le nom de la ressource d’icône. Vous pouvez également utiliser un CString argument pour cet argument.

nIDResource
Numéro d’ID de la ressource d’icône.

Valeur de retour

Handle vers une icône en cas de réussite ; sinon NULL.

Notes

LoadIcon charge l’icône uniquement si elle n’a pas été précédemment chargée ; sinon, il récupère un handle de la ressource existante.

Vous pouvez utiliser la fonction membre LoadStandardIcon ou LoadOEMIcon pour accéder aux icônes Windows prédéfinies.

Remarque

Cette fonction membre appelle la fonction d’API Win32 LoadIcon, qui ne peut charger qu’une icône dont la taille est conforme aux valeurs de métriques système SM_CXICON et SM_CYICON.

CWinApp ::LoadOEMCursor

Charge la ressource de curseur prédéfinie Windows spécifiée par nIDCursor.

HCURSOR LoadOEMCursor(UINT nIDCursor) const;

Paramètres

nIDCursor
Identificateur de constante de manifeste OCR_ qui spécifie un curseur Windows prédéfini. Vous devez avoir #define OEMRESOURCE avant #include \<afxwin.h> d’accéder aux constantes OCR_ dans WINDOWS.H.

Valeur de retour

Handle vers un curseur en cas de réussite ; sinon NULL.

Notes

Utilisez la LoadOEMCursor fonction membre LoadStandardCursor pour accéder aux curseurs Windows prédéfinis.

Exemple

// In the stdafx.h file, add #define OEMRESOURCE to
// include the windows.h definitions of OCR_ values.
#define OEMRESOURCE
#include <afxwin.h> // MFC core and standard components
#include <afxext.h> // MFC extensions

 

HCURSOR hCursor;
// Load the predefined WIndows "size all" cursor.
hCursor = AfxGetApp()->LoadOEMCursor(OCR_SIZEALL);

CWinApp ::LoadOEMIcon

Charge la ressource d’icône prédéfinie Windows spécifiée par nIDIcon.

HICON LoadOEMIcon(UINT nIDIcon) const;

Paramètres

nIDIcon
Identificateur de constante de manifeste OIC_ qui spécifie une icône Windows prédéfinie. Vous devez avoir #define OEMRESOURCE avant #include \<afxwin.h> d’accéder aux constantes OIC_ dans WINDOWS.H.

Valeur de retour

Handle vers une icône en cas de réussite ; sinon NULL.

Notes

Utilisez la LoadOEMIcon fonction membre LoadStandardIcon ou loadStandardIcon pour accéder aux icônes Windows prédéfinies.

CWinApp ::LoadStandardCursor

Charge la ressource de curseur prédéfinie Windows spécifiée par lpszCursorName .

HCURSOR LoadStandardCursor(LPCTSTR lpszCursorName) const;

Paramètres

lpszCursorName
Identificateur de constante de manifeste IDC_ qui spécifie un curseur Windows prédéfini. Ces identificateurs sont définis dans WINDOWS.H. La liste suivante présente les valeurs et significations prédéfinies possibles pour lpszCursorName :

  • IDC_ARROW curseur de flèche Standard

  • IDC_IBEAM curseur d’insertion de texte standard

  • IDC_WAIT curseur Hourglass utilisé lorsque Windows effectue une tâche fastidieuse

  • IDC_CROSS curseur de cheveux croisés pour la sélection

  • IDC_UPARROW Flèche qui pointe vers le haut droit

  • IDC_SIZE obsolète et non pris en charge ; utiliser IDC_SIZEALL

  • IDC_SIZEALL Une flèche à quatre pointes. Curseur à utiliser pour redimensionner une fenêtre.

  • IDC_ICON obsolète et non pris en charge. Utilisez IDC_ARROW.

  • IDC_SIZENWSE flèche à deux pointes avec des extrémités en haut à gauche et en bas à droite

  • IDC_SIZENESW flèche à deux pointes avec des extrémités en haut à droite et en bas à gauche

  • IDC_SIZEWE flèche à deux pointes horizontales

  • flèche à deux pointes verticales IDC_SIZENS

Valeur de retour

Handle vers un curseur en cas de réussite ; sinon NULL.

Notes

Utilisez la LoadStandardCursorfonction membre LoadOEMCursor pour accéder aux curseurs Windows prédéfinis.

Exemple

HCURSOR hCursor;

// Load the predefined Windows "up arrow" cursor.
hCursor = AfxGetApp()->LoadStandardCursor(IDC_UPARROW);

CWinApp ::LoadStandardIcon

Charge la ressource d’icône prédéfinie Windows spécifiée par lpszIconName .

HICON LoadStandardIcon(LPCTSTR lpszIconName) const;

Paramètres

lpszIconName
Identificateur de constante de manifeste qui spécifie une icône Windows prédéfinie. Ces identificateurs sont définis dans WINDOWS.H. Pour obtenir la liste des valeurs prédéfinies possibles et de leurs descriptions, consultez le paramètre lpIconName dans LoadIcon dans le Kit de développement logiciel (SDK) Windows.

Valeur de retour

Handle vers une icône en cas de réussite ; sinon NULL.

Notes

Utilisez la LoadStandardIcon fonction membre LoadOEMIcon pour accéder aux icônes Windows prédéfinies.

CWinApp ::LoadStdProfile Paramètres

Appelez cette fonction membre à partir de la fonction membre InitInstance pour activer et charger la liste des fichiers les plus récemment utilisés (MRU) et le dernier état d’aperçu.

void LoadStdProfileSettings(UINT nMaxMRU = _AFX_MRU_COUNT);

Paramètres

nMaxMRU
Nombre de fichiers récemment utilisés pour effectuer le suivi.

Notes

Si nMaxMRU est 0, aucune liste mrU n’est conservée.

CWinApp ::m_bHelpMode

TRUE si l’application est en mode contexte d’aide (appelée conventionnellement avec MAJ + F1) ; sinon FALSE.

BOOL m_bHelpMode;

Notes

En mode contexte d’aide, le curseur devient un point d’interrogation et l’utilisateur peut le déplacer à propos de l’écran. Examinez cet indicateur si vous souhaitez implémenter une gestion spéciale en mode Aide. m_bHelpMode est une variable publique de type BOOL.

CWinApp ::m_dwRestartManagerSupportFlags

Indicateurs qui déterminent le comportement du gestionnaire de redémarrage.

DWORD m_dwRestartManagerSupportFlags;

Notes

Pour activer le gestionnaire de redémarrage, définissez m_dwRestartManagerSupportFlags le comportement souhaité. Le tableau suivant présente les indicateurs disponibles.

Indicateur Description
AFX_RESTART_MANAGER_SUPPORT_RESTART L’application est inscrite à l’aide de CWinApp ::RegisterWithRestartManager. Le gestionnaire de redémarrage est responsable du redémarrage de l’application s’il se ferme de façon inattendue.
- AFX_RESTART_MANAGER_SUPPORT_RECOVERY L’application est inscrite auprès du gestionnaire de redémarrage et le gestionnaire de redémarrage appelle la fonction de rappel de récupération lorsqu’elle redémarre l’application. La fonction de rappel de récupération par défaut est CWinApp ::ApplicationRecoveryCallback.
- AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART L’enregistrement automatique est activé et le gestionnaire de redémarrage enregistre automatiquement tous les documents ouverts lorsque l’application redémarre.
- AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL L’enregistrement automatique est activé et le gestionnaire de redémarrage enregistre automatiquement tous les documents ouverts à intervalles réguliers. L’intervalle est défini par CWinApp ::m_nAutosaveInterval.
- AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES Le gestionnaire de redémarrage ouvre précédemment les documents après avoir redémarré l’application à partir d’une sortie inattendue. La classe CDataRecoveryHandler gère le stockage de la liste des documents ouverts et leur restauration.
- AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES Le gestionnaire de redémarrage invite l’utilisateur à restaurer les fichiers enregistrés automatiquement après le redémarrage de l’application. La CDataRecoveryHandler classe interroge l’utilisateur.
- AFX_RESTART_MANAGER_SUPPORT_NO_AUTOSAVE Union de AFX_RESTART_MANAGER_SUPPORT_RESTART, de AFX_RESTART_MANAGER_SUPPORT_RECOVER et de AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES.
- AFX_RESTART_MANAGER_SUPPORT_ALL_ASPECTS Union de AFX_RESTART_MANAGER_SUPPORT_NO_AUTOSAVE, de AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART, de AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL et de AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES.
- AFX_RESTART_MANAGER_SUPPORT_RESTART_ASPECTS Union de AFX_RESTART_MANAGER_SUPPORT_RESTART, de AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART, de AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES et de AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES.
- AFX_RESTART_MANAGER_SUPPORT_RECOVERY_ASPECTS L’union ofAFX_RESTART_MANAGER_SUPPORT_RECOVERY, AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL, AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES et AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES.

CWinApp ::m_eHelpType

Le type de ce membre de données est le type énuméré AFX_HELP_TYPE, qui est défini dans la CWinApp classe.

AFX_HELP_TYPE m_eHelpType;

Notes

L’énumération AFX_HELP_TYPE est définie comme suit :

enum AFX_HELP_TYPE {
    afxWinHelp = 0,
    afxHTMLHelp = 1
    };
  • Pour définir l’aide de l’application sur l’aide HTML, appelez SetHelpMode et spécifiez afxHTMLHelp.

  • Pour définir l’aide de l’application sur WinHelp, appelez SetHelpMode et spécifiez afxWinHelp.

CWinApp ::m_hInstance

Correspond au paramètre hInstance passé par Windows à WinMain.

HINSTANCE m_hInstance;

Notes

Le m_hInstance membre de données est un handle pour l’instance actuelle de l’application s’exécutant sous Windows. Cela est retourné par la fonction globale AfxGetInstanceHandle. m_hInstance est une variable publique de type HINSTANCE.

Exemple

// Typically you do not need to pass the application's hInstance
// to Windows APIs directly because there are equivalent MFC
// member functions that pass the hInstance for you.  The following
// example is not typical:

HCURSOR hCursor;
hCursor = ::LoadCursor(AfxGetApp()->m_hInstance, 
   MAKEINTRESOURCE(IDC_MYCURSOR));

// A more direct way to get the application's hInstance is to
// call AfxGetInstanceHandle:
hCursor = ::LoadCursor(AfxGetInstanceHandle(), 
   MAKEINTRESOURCE(IDC_MYCURSOR));

// If you need the hInstance to load a resource, it is better
// to call AfxGetResourceHandle instead of AfxGetInstanceHandle:
hCursor = ::LoadCursor(AfxGetResourceHandle(), 
   MAKEINTRESOURCE(IDC_MYCURSOR));

// A better way to load the cursor resource is to call
// CWinApp::LoadCursor
hCursor = AfxGetApp()->LoadCursor(IDC_MYCURSOR);

CWinApp ::m_lpCmdLine

Correspond au paramètre lpCmdLine passé par Windows à WinMain.

LPTSTR m_lpCmdLine;

Notes

Pointe vers une chaîne terminée par null qui spécifie la ligne de commande de l’application. Permet m_lpCmdLine d’accéder à tous les arguments de ligne de commande entrés par l’utilisateur lors du démarrage de l’application. m_lpCmdLine est une variable publique de type LPTSTR.

Exemple

if (m_lpCmdLine[0] == _T('\0'))
{
   // Create a new (empty) document.
   OnFileNew();
}
else
{
   // Open a file passed as the first command line parameter.
   OpenDocumentFile(m_lpCmdLine);
}

CWinApp ::m_nAutosaveInterval

Durée en millisecondes entre les enregistrements automatiques.

int m_nAutosaveInterval;

Notes

Vous pouvez configurer le gestionnaire de redémarrage pour enregistrer automatiquement les documents ouverts à intervalles définis. Si votre application n’enregistre pas automatiquement les fichiers, ce paramètre n’a aucun effet.

CWinApp ::m_nCmdShow

Correspond au paramètre nCmdShow passé par Windows à WinMain.

int m_nCmdShow;

Notes

Vous devez passer m_nCmdShow en tant qu’argument lorsque vous appelez CWnd ::ShowWindow pour la fenêtre principale de votre application. m_nCmdShow est une variable publique de type int.

Exemple

// The following code fragment is taken from CMyApp::InitInstance.
// CMyApp is derived from CWinApp.

// The main window has been initialized, so show and update it
// using the nCmdShow parameter passed to the application when it
// was first launched.
// pMainFrame is the main MDI frame window of our app and is derived
// from CMDIFrameWnd.
pMainFrame->ShowWindow(m_nCmdShow);
pMainFrame->UpdateWindow();

CWinApp ::m_pActiveWnd

Utilisez ce membre de données pour stocker un pointeur vers la fenêtre principale de l’application conteneur OLE sur laquelle votre application serveur OLE est activée.

Notes

Si ce membre de données est NULL, l’application n’est pas active sur place.

L’infrastructure définit cette variable membre lorsque la fenêtre frame est activée sur place par une application conteneur OLE.

CWinApp ::m_pDataRecoveryHandler

Pointeur vers le gestionnaire de récupération de données pour l’application.

CDataRecoveryHandler* m_pDataRecoveryHandler;

Notes

Le gestionnaire de récupération de données d’une application surveille les documents ouverts et les enregistre automatiquement. L’infrastructure utilise le gestionnaire de récupération de données pour restaurer les fichiers enregistrés automatiquement lorsqu’une application redémarre une fois qu’elle s’arrête de façon inattendue. Pour plus d’informations, consultez CDataRecoveryHandler, classe.

CWinApp ::m_pszAppName

Spécifie le nom de l'application.

LPCTSTR m_pszAppName;

Notes

Le nom de l’application peut provenir du paramètre passé au constructeur CWinApp , ou, s’il n’est pas spécifié, à la chaîne de ressource avec l’ID de AFX_IDS_APP_TITLE. Si le nom de l’application n’est pas trouvé dans la ressource, il provient du nom de fichier .EXE du programme.

Retourné par la fonction globale AfxGetAppName. m_pszAppName est une variable publique de type const char*.

Remarque

Si vous affectez une valeur, m_pszAppNameelle doit être allouée dynamiquement sur le tas. Le CWinApp destructeur appelle free( ) avec ce pointeur. Vous souhaitez beaucoup utiliser la _tcsdupfonction de bibliothèque d’exécution ( ) pour effectuer l’allocation. Libérez également la mémoire associée au pointeur actuel avant d’affecter une nouvelle valeur. Par exemple :

//First free the string allocated by MFC at CWinApp startup.
//The string is allocated before InitInstance is called.
free((void*)m_pszAppName);
//Change the name of the application file.
//The CWinApp destructor will free the memory.
m_pszAppName = _tcsdup(_T("c:\\somedir\\myapp.exe"));

Exemple

CWnd *pWnd = AfxGetMainWnd();
// Set pWnd to some CWnd object whose window has already
// been created.

// The following call to CWnd::MessageBox uses the application
// title as the message box caption.
pWnd->MessageBox(_T("Some message"), AfxGetApp()->m_pszAppName);

// A more direct way to get the application title is to
// call AfxGetAppName:
pWnd->MessageBox(_T("Some message"), AfxGetAppName());

// An easier way to display a message box using the application
// title as the message box caption is to call AfxMessageBox:
AfxMessageBox(_T("Some message"));

CWinApp ::m_pszExeName

Contient le nom du fichier exécutable de l’application sans extension.

LPCTSTR m_pszExeName;

Notes

Contrairement à m_pszAppName, ce nom ne peut pas contenir de vides. m_pszExeName est une variable publique de type const char*.

Remarque

Si vous affectez une valeur, m_pszExeNameelle doit être allouée dynamiquement sur le tas. Le CWinApp destructeur appelle free( ) avec ce pointeur. Vous souhaitez beaucoup utiliser la _tcsdupfonction de bibliothèque d’exécution ( ) pour effectuer l’allocation. Libérez également la mémoire associée au pointeur actuel avant d’affecter une nouvelle valeur. Par exemple :

//First free the string allocated by MFC at CWinApp startup.
//The string is allocated before InitInstance is called.
free((void*)m_pszExeName);
//Change the name of the .EXE file.
//The CWinApp destructor will free the memory.
m_pszExeName = _tcsdup(_T("c:\\somedir\\myapp"));

CWinApp ::m_pszHelpFilePath

Contient le chemin d’accès au fichier d’aide de l’application.

LPCTSTR m_pszHelpFilePath;

Notes

Par défaut, l’infrastructure initialise m_pszHelpFilePath le nom de l’application avec ». Ajout de HLP. Pour modifier le nom du fichier d’aide, définissez m_pszHelpFilePath la valeur sur une chaîne qui contient le nom complet du fichier d’aide souhaité. Un endroit pratique pour ce faire se trouve dans la fonction InitInstance de l’application. m_pszHelpFilePath est une variable publique de type const char*.

Remarque

Si vous affectez une valeur, m_pszHelpFilePathelle doit être allouée dynamiquement sur le tas. Le CWinApp destructeur appelle free( ) avec ce pointeur. Vous souhaitez beaucoup utiliser la _tcsdupfonction de bibliothèque d’exécution ( ) pour effectuer l’allocation. Libérez également la mémoire associée au pointeur actuel avant d’affecter une nouvelle valeur. Par exemple :

//First free the string allocated by MFC at CWinApp startup.
//The string is allocated before InitInstance is called.
free((void*)m_pszHelpFilePath);
//Change the name of the .HLP file.
//The CWinApp destructor will free the memory.
m_pszHelpFilePath = _tcsdup(_T("c:\\somedir\\myhelp.hlp"));

CWinApp ::m_pszProfileName

Contient le nom de l’application . Fichier INI.

LPCTSTR m_pszProfileName;

Notes

m_pszProfileName est une variable publique de type const char*.

Remarque

Si vous affectez une valeur, m_pszProfileNameelle doit être allouée dynamiquement sur le tas. Le CWinApp destructeur appelle free( ) avec ce pointeur. Vous souhaitez beaucoup utiliser la _tcsdupfonction de bibliothèque d’exécution ( ) pour effectuer l’allocation. Libérez également la mémoire associée au pointeur actuel avant d’affecter une nouvelle valeur. Par exemple :

//First free the string allocated by MFC at CWinApp startup.
//The string is allocated before InitInstance is called.
free((void*)m_pszProfileName);
//Change the name of the .INI file.
//The CWinApp destructor will free the memory.
m_pszProfileName = _tcsdup(_T("c:\\somedir\\myini.ini"));

CWinApp ::m_pszRegistryKey

Permet de déterminer où, dans le registre ou le fichier INI, les paramètres de profil d’application sont stockés.

LPCTSTR m_pszRegistryKey;

Notes

Normalement, ce membre de données est traité en lecture seule.

  • La valeur est stockée dans une clé de Registre. Le nom du paramètre de profil d’application est ajouté à la clé de Registre suivante : HKEY_CURRENT_USER/Software/LocalAppWizard-Generated/.

Si vous affectez une valeur, m_pszRegistryKeyelle doit être allouée dynamiquement sur le tas. Le CWinApp destructeur appelle free( ) avec ce pointeur. Vous souhaitez beaucoup utiliser la _tcsdupfonction de bibliothèque d’exécution ( ) pour effectuer l’allocation. Libérez également la mémoire associée au pointeur actuel avant d’affecter une nouvelle valeur. Par exemple :

//First free the string allocated by MFC at CWinApp startup.
//The string is allocated before InitInstance is called.
free((void*)m_pszRegistryKey);
//Change the name of the registry key.
//The CWinApp destructor will free the memory.
m_pszRegistryKey = _tcsdup(
    _T("HKEY_CURRENT_USER\\Software\\mycompany\\myapp\\thissection\\thisvalue"));

CWinApp ::m_pszAppID

ID de modèle utilisateur de l’application.

LPCTSTR m_pszAppID;

Notes

CWinApp ::OnContextHelp

Gère l’aide MAJ+F1 dans l’application.

afx_msg void OnContextHelp();

Notes

Vous devez ajouter une ON_COMMAND( ID_CONTEXT_HELP, OnContextHelp ) instruction à votre CWinApp mappage de messages de classe et également ajouter une entrée de table accélérateur, généralement MAJ+F1, pour activer cette fonction membre.

OnContextHelp place l’application en mode Aide. Le curseur passe à une flèche et à un point d’interrogation, et l’utilisateur peut ensuite déplacer le pointeur de la souris et appuyer sur le bouton gauche de la souris pour sélectionner une boîte de dialogue, une fenêtre, un menu ou un bouton de commande. Cette fonction membre récupère le contexte d’aide de l’objet sous le curseur et appelle la fonction Windows WinHelp avec ce contexte d’aide.

CWinApp ::OnDDECommand

Appelé par l’infrastructure lorsque la fenêtre de trame principale reçoit un message d’exécution DDE.

virtual BOOL OnDDECommand(LPTSTR lpszCommand);

Paramètres

lpszCommand
Pointe vers une chaîne de commande DDE reçue par l’application.

Valeur de retour

Différent de zéro si la commande est gérée ; sinon 0.

Notes

L’implémentation par défaut case activée si la commande est une demande d’ouverture d’un document et, le cas échéant, ouvre le document spécifié. Le Gestionnaire de fichiers Windows envoie généralement ces chaînes de commande DDE lorsque l’utilisateur double-clique sur un fichier de données. Remplacez cette fonction pour gérer d’autres commandes d’exécution DDE, telles que la commande à imprimer.

Exemple

BOOL CMyApp::OnDDECommand(LPTSTR lpszCommand)
{
   if (CWinApp::OnDDECommand(lpszCommand))
      return TRUE;

   // Handle any DDE commands recognized by your application
   // and return TRUE.  See implementation of CWinApp::OnDDEComand
   // for example of parsing the DDE command string.

   // Return FALSE for any DDE commands you do not handle.
   return FALSE;
}

CWinApp ::OnFileNew

Implémente la commande ID_FILE_NEW.

afx_msg void OnFileNew();

Notes

Vous devez ajouter une ON_COMMAND( ID_FILE_NEW, OnFileNew ) instruction à votre CWinApp mappage de messages de classe pour activer cette fonction membre. Si elle est activée, cette fonction gère l’exécution de la commande File New.

Consultez la note technique 22 pour plus d’informations sur le comportement par défaut et les conseils sur la façon de remplacer cette fonction membre.

Exemple

// The following message map, produced by the Application Wizard, binds
// the File New, Open, and Print Setup menu commands to default
// framework implementations of these commands.
BEGIN_MESSAGE_MAP(CStdApp, CWinApp)
// Standard file based document commands
ON_COMMAND(ID_FILE_NEW, &CWinApp::OnFileNew)
ON_COMMAND(ID_FILE_OPEN, &CWinApp::OnFileOpen)
// Standard print setup command
ON_COMMAND(ID_FILE_PRINT_SETUP, &CWinApp::OnFilePrintSetup)
END_MESSAGE_MAP()

 

// The following message map illustrates how to rebind the
// File New, Open and Print Setup menu commands to handlers that
// you implement in your CWinApp-derived class.
// Note, you can name the handler CCustomApp::OnFileNew instead of
// CCustomApp::OnMyFileNew, and likewise for the other handlers, if desired.
BEGIN_MESSAGE_MAP(CCustomApp, CWinApp)
ON_COMMAND(ID_FILE_NEW, &CCustomApp::OnMyFileNew)
ON_COMMAND(ID_FILE_OPEN, &CCustomApp::OnMyFileOpen)
ON_COMMAND(ID_FILE_PRINT_SETUP, &CCustomApp::OnMyFilePrintSetup)
END_MESSAGE_MAP()

CWinApp ::OnFileOpen

Implémente la commande ID_FILE_OPEN.

afx_msg void OnFileOpen();

Notes

Vous devez ajouter une ON_COMMAND( ID_FILE_OPEN, OnFileOpen ) instruction à votre CWinApp mappage de messages de classe pour activer cette fonction membre. Si elle est activée, cette fonction gère l’exécution de la commande Ouvrir de fichier.

Pour plus d’informations sur le comportement par défaut et les conseils sur la façon de remplacer cette fonction membre, consultez la note technique 22.

Exemple

// The following message map, produced by the Application Wizard, binds
// the File New, Open, and Print Setup menu commands to default
// framework implementations of these commands.
BEGIN_MESSAGE_MAP(CStdApp, CWinApp)
// Standard file based document commands
ON_COMMAND(ID_FILE_NEW, &CWinApp::OnFileNew)
ON_COMMAND(ID_FILE_OPEN, &CWinApp::OnFileOpen)
// Standard print setup command
ON_COMMAND(ID_FILE_PRINT_SETUP, &CWinApp::OnFilePrintSetup)
END_MESSAGE_MAP()

 

// The following message map illustrates how to rebind the
// File New, Open and Print Setup menu commands to handlers that
// you implement in your CWinApp-derived class.
// Note, you can name the handler CCustomApp::OnFileNew instead of
// CCustomApp::OnMyFileNew, and likewise for the other handlers, if desired.
BEGIN_MESSAGE_MAP(CCustomApp, CWinApp)
ON_COMMAND(ID_FILE_NEW, &CCustomApp::OnMyFileNew)
ON_COMMAND(ID_FILE_OPEN, &CCustomApp::OnMyFileOpen)
ON_COMMAND(ID_FILE_PRINT_SETUP, &CCustomApp::OnMyFilePrintSetup)
END_MESSAGE_MAP()

CWinApp ::OnFilePrintSetup

Implémente la commande ID_FILE_PRINT_SETUP.

afx_msg void OnFilePrintSetup();

Notes

Vous devez ajouter une ON_COMMAND( ID_FILE_PRINT_SETUP, OnFilePrintSetup ) instruction à votre CWinApp mappage de messages de classe pour activer cette fonction membre. Si elle est activée, cette fonction gère l’exécution de la commande File Print.

Pour plus d’informations sur le comportement par défaut et les conseils sur la façon de remplacer cette fonction membre, consultez la note technique 22.

Exemple

// The following message map, produced by the Application Wizard, binds
// the File New, Open, and Print Setup menu commands to default
// framework implementations of these commands.
BEGIN_MESSAGE_MAP(CStdApp, CWinApp)
// Standard file based document commands
ON_COMMAND(ID_FILE_NEW, &CWinApp::OnFileNew)
ON_COMMAND(ID_FILE_OPEN, &CWinApp::OnFileOpen)
// Standard print setup command
ON_COMMAND(ID_FILE_PRINT_SETUP, &CWinApp::OnFilePrintSetup)
END_MESSAGE_MAP()

 

// The following message map illustrates how to rebind the
// File New, Open and Print Setup menu commands to handlers that
// you implement in your CWinApp-derived class.
// Note, you can name the handler CCustomApp::OnFileNew instead of
// CCustomApp::OnMyFileNew, and likewise for the other handlers, if desired.
BEGIN_MESSAGE_MAP(CCustomApp, CWinApp)
ON_COMMAND(ID_FILE_NEW, &CCustomApp::OnMyFileNew)
ON_COMMAND(ID_FILE_OPEN, &CCustomApp::OnMyFileOpen)
ON_COMMAND(ID_FILE_PRINT_SETUP, &CCustomApp::OnMyFilePrintSetup)
END_MESSAGE_MAP()

CWinApp ::OnHelp

Gère l'aide F1 dans l'application (en utilisant le contexte actuel).

afx_msg void OnHelp();

Notes

En règle générale, vous allez également ajouter une entrée de touche d’accélérateur pour la touche F1. L’activation de la clé F1 n’est qu’une convention, et non une exigence.

Vous devez ajouter une ON_COMMAND( ID_HELP, OnHelp ) instruction à votre CWinApp mappage de messages de classe pour activer cette fonction membre. Si cette option est activée, appelée par l’infrastructure lorsque l’utilisateur appuie sur la touche F1.

L’implémentation par défaut de cette fonction de gestionnaire de messages détermine le contexte d’aide qui correspond à la fenêtre actuelle, à la boîte de dialogue ou à l’élément de menu, puis appelle WINHELP.EXE. Si aucun contexte n’est actuellement disponible, la fonction utilise le contexte par défaut.

Remplacez cette fonction membre pour définir le contexte d’aide sur un élément autre que la fenêtre, la boîte de dialogue, l’élément de menu ou le bouton de barre d’outils qui a actuellement le focus. Appelez WinHelp avec l’ID de contexte d’aide souhaité.

CWinApp ::OnHelpFinder

Gère les commandes ID_HELP_FINDER et ID_DEFAULT_HELP.

afx_msg void OnHelpFinder();

Notes

Vous devez ajouter une ON_COMMAND( ID_HELP_FINDER, OnHelpFinder ) instruction à votre CWinApp mappage de messages de classe pour activer cette fonction membre. Si cette option est activée, l’infrastructure appelle cette fonction de gestionnaire de messages lorsque l’utilisateur de votre application sélectionne la commande Help Finder à appeler WinHelp avec la rubrique HELP_FINDER standard.

CWinApp ::OnHelpIndex

Gère la commande ID_HELP_INDEX et fournit une rubrique d’aide par défaut.

afx_msg void OnHelpIndex();

Notes

Vous devez ajouter une ON_COMMAND( ID_HELP_INDEX, OnHelpIndex ) instruction à votre CWinApp mappage de messages de classe pour activer cette fonction membre. Si cette option est activée, l’infrastructure appelle cette fonction de gestionnaire de messages lorsque l’utilisateur de votre application sélectionne la commande d’index d’aide à appeler WinHelp avec la rubrique HELP_INDEX standard.

CWinApp ::OnHelpUsing

Gère la commande ID_HELP_USING.

afx_msg void OnHelpUsing();

Notes

Vous devez ajouter une ON_COMMAND( ID_HELP_USING, OnHelpUsing ) instruction à votre CWinApp mappage de messages de classe pour activer cette fonction membre. L’infrastructure appelle cette fonction de gestionnaire de messages lorsque l’utilisateur de votre application sélectionne la commande Aide à l’aide pour appeler l’application WinHelp avec la rubrique HELP_HELPONHELP standard.

CWinApp ::OnIdle

Remplacez cette fonction membre pour effectuer un traitement en temps d’inactivité.

virtual BOOL OnIdle(LONG lCount);

Paramètres

lCount
Un compteur incrémenté chaque fois OnIdle qu’il est appelé lorsque la file d’attente de messages de l’application est vide. Ce nombre est réinitialisé à 0 chaque fois qu’un nouveau message est traité. Vous pouvez utiliser le paramètre lCount pour déterminer la durée relative pendant laquelle l’application a été inactive sans traiter un message.

Valeur de retour

Non différent de zéro pour recevoir plus de temps de traitement inactif ; 0 si aucun temps d’inactivité n’est nécessaire.

Notes

OnIdle est appelé dans la boucle de message par défaut lorsque la file d’attente de messages de l’application est vide. Utilisez votre remplacement pour appeler vos propres tâches de gestionnaire inactif en arrière-plan.

OnIdle doit retourner 0 pour indiquer qu’aucune durée de traitement inactive n’est nécessaire. Le paramètre lCount est incrémenté chaque fois OnIdle qu’il est appelé lorsque la file d’attente de messages est vide et est réinitialisée à 0 chaque fois qu’un nouveau message est traité. Vous pouvez appeler vos différentes routines inactives en fonction de ce nombre.

Les éléments suivants résument le traitement des boucles inactives :

  1. Si la boucle de message dans la bibliothèque de classes Microsoft Foundation case activée la file d’attente des messages et ne trouve aucun message en attente, elle appelle OnIdle l’objet d’application et fournit 0 comme argument lCount.

  2. OnIdle effectue un traitement et retourne une valeur différente de zéro pour indiquer qu’elle doit être appelée à nouveau pour effectuer un traitement supplémentaire.

  3. La boucle de message case activée à nouveau la file d’attente des messages. Si aucun message n’est en attente, il appelle OnIdle à nouveau, incrémentant l’argument lCount .

  4. Finalement, OnIdle termine le traitement de toutes ses tâches inactives et retourne 0. Cela indique à la boucle de message d’arrêter l’appel OnIdle jusqu’à ce que le message suivant soit reçu à partir de la file d’attente de messages, auquel point le cycle inactif redémarre avec l’argument défini sur 0.

N’effectuez pas de tâches longues pendant la période pendant OnIdle laquelle votre application ne peut pas traiter l’entrée utilisateur tant qu’elle OnIdle n’est pas retournée.

Remarque

Implémentation par défaut des objets d’interface utilisateur de OnIdle commande de commande tels que les éléments de menu et les boutons de barre d’outils, et effectue une structure de données interne propre up. Par conséquent, si vous remplacez OnIdle, vous devez appeler CWinApp::OnIdle avec la lCount version remplacée. Tout d’abord, appelez tout le traitement inactif de la classe de base (autrement dit, jusqu’à ce que la classe OnIdle de base retourne 0). Si vous devez effectuer un travail avant la fin du traitement de classe de base, passez en revue l’implémentation de la classe de base pour sélectionner le lCount approprié pendant lequel effectuer votre travail.

Si vous ne souhaitez OnIdle pas être appelé chaque fois qu’un message est récupéré à partir de la file d’attente de messages, vous pouvez remplacer CWinThreadIsIdleMessage. Si une application a défini un minuteur très court ou si le système envoie le message WM_SYSTIMER, il OnIdle est appelé à plusieurs reprises et dégrade les performances.

Exemple

Les deux exemples suivants montrent comment utiliser OnIdle. Le premier exemple traite deux tâches inactives à l’aide de l’argument lCount pour hiérarchiser les tâches. La première tâche est prioritaire et vous devez le faire chaque fois que cela est possible. La deuxième tâche est moins importante et doit être effectuée uniquement lorsqu’il y a une longue pause dans l’entrée utilisateur. Notez l’appel à la version de classe de base de OnIdle. Le deuxième exemple gère un groupe de tâches inactives avec différentes priorités.

BOOL CMyApp::OnIdle(LONG lCount)
{
   BOOL bMore = CWinApp::OnIdle(lCount);

   if (lCount == 0)
   {
      TRACE(_T("App idle for short period of time\n"));
      bMore = TRUE;
   }
   else if (lCount == 10)
   {
      TRACE(_T("App idle for longer amount of time\n"));
      bMore = TRUE;
   }
   else if (lCount == 100)
   {
      TRACE(_T("App idle for even longer amount of time\n"));
      bMore = TRUE;
   }
   else if (lCount == 1000)
   {
      TRACE(_T("App idle for quite a long period of time\n"));
      // bMore is not set to TRUE, no longer need idle
      // IMPORTANT: bMore is not set to FALSE since CWinApp::OnIdle may
      // have more idle tasks to complete.
   }

   return bMore;
   // return TRUE as long as there are any more idle tasks
}

CWinApp ::OpenDocumentFile

L’infrastructure appelle cette méthode pour ouvrir le fichier CDocument nommé pour l’application.

virtual CDocument* OpenDocumentFile(
    LPCTSTR lpszFileName
    BOOL bAddToMRU = TRUE);

Paramètres

lpszFileName
[in] Nom du fichier à ouvrir.

bAddToMRU
[in] TRUE indique que le document est l’un des fichiers les plus récents ; FALSE indique que le document n’est pas l’un des fichiers les plus récents.

Valeur de retour

Pointeur vers un CDocument pointeur en cas de réussite ; sinon NULL.

Notes

Si un document portant ce nom est déjà ouvert, la première fenêtre frame qui contient ce document aura le focus. Si une application prend en charge plusieurs modèles de documents, l’infrastructure utilise l’extension de nom de fichier pour rechercher le modèle de document approprié pour essayer de charger le document. En cas de réussite, le modèle de document crée une fenêtre de cadre et une vue pour le document.

Exemple

if (m_lpCmdLine[0] == _T('\0'))
{
   // Create a new (empty) document.
   OnFileNew();
}
else
{
   // Open a file passed as the first command line parameter.
   OpenDocumentFile(m_lpCmdLine);
}

CWinApp ::P arseCommandLine

Appelez cette fonction membre pour analyser la ligne de commande et envoyer les paramètres, un par un à la fois, à CCommandLineInfo ::P arseParam.

void ParseCommandLine(CCommandLineInfo& rCmdInfo);

Paramètres

rCmdInfo
Référence à un objet CCommandLineInfo .

Notes

Lorsque vous démarrez un nouveau projet MFC à l’aide de l’Assistant Application, l’Assistant Application crée une instance locale, CCommandLineInfopuis appelle ProcessShellCommand et ParseCommandLine in the InitInstance member function. Une ligne de commande suit l’itinéraire décrit ci-dessous :

  1. Après avoir été créé dans InitInstance, l’objet CCommandLineInfo est passé à ParseCommandLine.

  2. ParseCommandLine appelle CCommandLineInfo::ParseParam ensuite à plusieurs reprises, une fois pour chaque paramètre.

  3. ParseParam remplit l’objet CCommandLineInfo , qui est ensuite passé à ProcessShellCommand.

  4. ProcessShellCommand gère les arguments et indicateurs de ligne de commande.

Notez que vous pouvez appeler ParseCommandLine directement si nécessaire.

Pour obtenir une description des indicateurs de ligne de commande, consultez CCommandLineInfo ::m_nShellCommand.

CWinApp ::P reTranslateMessage

Remplacez cette fonction pour filtrer les messages de fenêtre avant qu’ils ne soient distribués aux fonctions Windows TranslateMessage et DispatchMessage L’implémentation par défaut effectue une traduction de touches d’accélérateur. Vous devez donc appeler la CWinApp::PreTranslateMessage fonction membre dans votre version substituée.

virtual BOOL PreTranslateMessage(MSG* pMsg);

Paramètres

pMsg
Pointeur vers une structure MSG qui contient le message à traiter.

Valeur de retour

Différent de zéro si le message a été entièrement traité PreTranslateMessage et ne doit pas être traité plus loin. Zéro si le message doit être traité de la manière normale.

CWinApp ::P rocessMessageFilter

La fonction de hook de l’infrastructure appelle cette fonction membre pour filtrer et répondre à certains messages Windows.

virtual BOOL ProcessMessageFilter(
    int code,
    LPMSG lpMsg);

Paramètres

code
Spécifie un code de hook. Cette fonction membre utilise le code pour déterminer comment traiter lpMsg.

lpMsg
Pointeur vers une tructure MSGWindows.

Valeur de retour

Différent de zéro si le message est traité ; sinon 0.

Notes

Une fonction de hook traite les événements avant qu’ils ne soient envoyés au traitement normal des messages de l’application.

Si vous remplacez cette fonctionnalité avancée, veillez à appeler la version de classe de base pour maintenir le traitement de hook de l’infrastructure.

CWinApp ::P rocessShellCommand

Cette fonction membre est appelée par InitInstance pour accepter les paramètres transmis à partir de l’objet CCommandLineInfo identifié par rCmdInfo et effectuer l’action indiquée.

BOOL ProcessShellCommand(CCommandLineInfo& rCmdInfo);

Paramètres

rCmdInfo
Référence à un objet CCommandLineInfo .

Valeur de retour

Différent de zéro si la commande shell est traitée avec succès. Si 0, retournez FALSE à partir d’InitInstance.

Notes

Lorsque vous démarrez un nouveau projet MFC à l’aide de l’Assistant Application, l’Assistant Application crée une instance locale, CCommandLineInfopuis appelle ProcessShellCommand et parseCommandLine dans la InitInstance fonction membre. Une ligne de commande suit l’itinéraire décrit ci-dessous :

  1. Après avoir été créé dans InitInstance, l’objet CCommandLineInfo est passé à ParseCommandLine.

  2. ParseCommandLine appelle ensuite CCommandLineInfo ::P arseParam à plusieurs reprises, une fois pour chaque paramètre.

  3. ParseParam remplit l’objet CCommandLineInfo , qui est ensuite passé à ProcessShellCommand.

  4. ProcessShellCommand gère les arguments et indicateurs de ligne de commande.

Les membres de données de l’objet CCommandLineInfo , identifiés par CCommandLineInfo ::m_nShellCommand, sont du type énuméré suivant, qui est défini dans la CCommandLineInfo classe.

enum {
    FileNew,
    FileOpen,
    FilePrint,
    FilePrintTo,
    FileDDE
    };

Pour obtenir une brève description de chacune de ces valeurs, consultez CCommandLineInfo::m_nShellCommand.

CWinApp ::P rocessWndProcException

L’infrastructure appelle cette fonction membre chaque fois que le gestionnaire n’intercepte pas une exception levée dans l’un des gestionnaires de messages ou de commandes de votre application.

virtual LRESULT ProcessWndProcException(
    CException* e,
    const MSG* pMsg);

Paramètres

e
Pointeur vers une exception non interceptée.

pMsg
Une trêve MSGqui contient des informations sur le message Windows qui a provoqué la levée d’une exception par l’infrastructure.

Valeur de retour

Valeur qui doit être retournée à Windows. Normalement, il s’agit de 0L pour les messages Windows, 1L (TRUE) pour les messages de commande.

Notes

N’appelez pas directement cette fonction membre.

L’implémentation par défaut de cette fonction membre crée une boîte de message. Si l’exception non interceptée provient d’un menu, d’une barre d’outils ou d’un échec de commande accélérateur, la boîte de message affiche un message « Échec de la commande » ; sinon, il affiche un message « Erreur d’application interne ».

Remplacez cette fonction membre pour fournir une gestion globale de vos exceptions. Appelez uniquement la fonctionnalité de base si vous souhaitez que la boîte de message s’affiche.

CWinApp ::Register

Effectue toutes les tâches d’inscription non gérées par RegisterShellFileTypes.

virtual BOOL Register();

Valeur de retour

Différent de zéro en cas de réussite ; sinon, 0.

Notes

L’implémentation par défaut retourne simplement TRUE. Remplacez cette fonction pour fournir toutes les étapes d’inscription personnalisées.

CWinApp ::RegisterShellFileTypes

Appelez cette fonction membre pour inscrire tous les types de documents de votre application auprès du Gestionnaire de fichiers Windows.

void RegisterShellFileTypes(BOOL bCompat = FALSE);

Paramètres

bCompat
[in] TRUE ajoute des entrées d’inscription pour les commandes d’interpréteur de commandes Imprimer et Imprimer vers, ce qui permet à un utilisateur d’imprimer des fichiers directement à partir de l’interpréteur de commandes ou en faisant glisser le fichier vers un objet d’imprimante. Il ajoute également une clé DefaultIcon. Par défaut, ce paramètre a la valeur FALSE pour la compatibilité descendante.

Notes

Cela permet à l’utilisateur d’ouvrir un fichier de données créé par votre application en double-cliquant dessus à partir du Gestionnaire de fichiers. Appelez après avoir appelé RegisterShellFileTypesAddDocTemplate pour chacun des modèles de document de votre application. Appelez également la fonction membre EnableShellOpen lorsque vous appelez RegisterShellFileTypes.

RegisterShellFileTypes itère dans la liste des objets CDocTemplate que l’application gère et, pour chaque modèle de document, ajoute des entrées à la base de données d’inscription que Windows gère pour les associations de fichiers. Le Gestionnaire de fichiers utilise ces entrées pour ouvrir un fichier de données lorsque l’utilisateur double-clique dessus. Cela élimine la nécessité d’expédier un . Fichier REG avec votre application.

Remarque

RegisterShellFileTypes fonctionne uniquement si l’utilisateur exécute le programme avec des droits d’administrateur. Si le programme n’a pas de droits d’administrateur, il ne peut pas modifier les clés de Registre.

Si la base de données d’inscription associe déjà une extension de nom de fichier donnée à un autre type de fichier, aucune nouvelle association n’est créée. Consultez la classe pour connaître le CDocTemplate format des chaînes nécessaires pour inscrire ces informations.

CWinApp ::RegisterWithRestartManager

Inscrit l’application auprès du gestionnaire de redémarrage.

virtual HRESULT RegisterWithRestartManager(
    BOOL bRegisterRecoveryCallback,
    const CString& strRestartIdentifier);

virtual HRESULT RegisterWithRestartManager(
    LPCWSTR pwzCommandLineArgs,
    DWORD dwRestartFlags,
    APPLICATION_RECOVERY_CALLBACK pRecoveryCallback,
    LPVOID lpvParam,
    DWORD dwPingInterval,
    DWORD dwCallbackFlags);

Paramètres

bRegisterRecoveryCallback
[in] TRUE indique que cette instance de l’application utilise une fonction de rappel de récupération ; FALSE indique qu’il ne le fait pas. L’infrastructure appelle la fonction de rappel de récupération lorsque l’application quitte de façon inattendue. Pour plus d’informations, consultez CWinApp ::ApplicationRecoveryCallback.

strRestartIdentifier
[in] Chaîne unique qui identifie cette instance du gestionnaire de redémarrage. L’identificateur du gestionnaire de redémarrage est unique pour chaque instance d’une application.

pwzCommandLineArgs
[in] Chaîne qui contient tous les arguments supplémentaires de la ligne de commande.

dwRestartFlags
[in] Indicateurs facultatifs pour le gestionnaire de redémarrage. Pour plus d'informations, consultez la section Notes.

pRecoveryCallback
[in] Fonction de rappel de récupération. Cette fonction doit prendre un paramètre LPVOID comme entrée et retourner un DWORD. La fonction de rappel de récupération par défaut est CWinApp::ApplicationRecoveryCallback.

lpvParam
[in] Paramètre d’entrée pour la fonction de rappel de récupération. Pour plus d’informations, consultez CWinApp ::ApplicationRecoveryCallback.

dwPingInterval
[in] Durée pendant laquelle le gestionnaire de redémarrage attend le retour de la fonction de rappel de récupération. Ce paramètre est en millisecondes.

dwCallbackFlags
[in] Indicateurs passés à la fonction de rappel de récupération. Réservé pour un usage futur.

Valeur de retour

S_OK si la méthode réussit ; sinon, un code d’erreur.

Notes

Si votre application utilise l’implémentation MFC par défaut pour l’enregistrement automatique des fichiers, vous devez utiliser la version simple de RegisterWithRestartManager. Utilisez la version complexe de RegisterWithRestartManager si vous souhaitez personnaliser le comportement d’enregistrement automatique de votre application.

Si vous appelez cette méthode avec une chaîne vide pour strRestartIdentifier, RegisterWithRestartManager crée une chaîne d’identificateur unique pour cette instance du gestionnaire de redémarrage.

Lorsqu’une application se ferme de façon inattendue, le gestionnaire de redémarrage redémarre l’application à partir de la ligne de commande et fournit l’identificateur de redémarrage unique en tant qu’argument facultatif. Dans ce scénario, l’infrastructure appelle RegisterWithRestartManager deux fois. Le premier appel provient de CWinApp ::InitInstance avec une chaîne vide pour l’identificateur de chaîne. Ensuite, la méthode CWinApp ::P rocessShellCommand appelle RegisterWithRestartManager avec l’identificateur de redémarrage unique.

Après avoir inscrit une application auprès du gestionnaire de redémarrage, le gestionnaire de redémarrage surveille l’application. Si l’application se ferme de façon inattendue, le gestionnaire de redémarrage appelle la fonction de rappel de récupération pendant le processus d’arrêt. Le gestionnaire de redémarrage attend la réponse dwPingInterval de la fonction de rappel de récupération. Si la fonction de rappel de récupération ne répond pas dans ce temps, l’application quitte sans exécuter la fonction de rappel de récupération.

Par défaut, les dwRestartFlags ne sont pas pris en charge, mais sont fournis pour une utilisation ultérieure. Les valeurs possibles pour dwRestartFlags sont les suivantes :

  • RESTART_NO_CRASH

  • RESTART_NO_HANG

  • RESTART_NO_PATCH

  • RESTART_NO_REBOOT

CWinApp ::ReopenPreviousFilesAtRestart

Détermine si le gestionnaire de redémarrage rouvre les fichiers ouverts lorsque l’application s’est terminée de manière inattendue.

virtual BOOL ReopenPreviousFilesAtRestart() const;

Valeur de retour

TRUE indique que le gestionnaire de redémarrage rouvre les fichiers ouverts précédemment ; FALSE indique que le gestionnaire de redémarrage ne le fait pas.

CWinApp ::RestartInstance

Gère un redémarrage d’application initié par le gestionnaire de redémarrage.

virtual BOOL CWinApp::RestartInstance();

Valeur de retour

TRUE si le gestionnaire de récupération de données s’ouvre précédemment pour ouvrir des documents ; FALSE si le gestionnaire de récupération de données a une erreur ou s’il n’y a pas de documents ouverts précédemment.

Notes

Lorsque le gestionnaire de redémarrage redémarre une application, l’infrastructure appelle cette méthode. Cette méthode récupère le gestionnaire de récupération de données et restaure les fichiers enregistrés automatiquement. Cette méthode appelle CDataRecoveryHandler ::RestoreAutosavedDocuments pour déterminer si l’utilisateur souhaite restaurer les fichiers enregistrés automatiquement.

Cette méthode retourne FALSE si CDataRecoveryHandler détermine qu’il n’y a pas eu de documents ouverts. S’il n’y avait aucun document ouvert, l’application démarre normalement.

CWinApp ::RestoreAutosavedFilesAtRestart

Détermine si le gestionnaire de redémarrage restaure les fichiers enregistrés automatiquement lors du redémarrage de l’application.

virtual BOOL RestoreAutosavedFilesAtRestart() const;

Valeur de retour

TRUE indique que le gestionnaire de redémarrage restaure les fichiers enregistrés automatiquement ; FALSE indique que le gestionnaire de redémarrage ne le fait pas.

CWinApp ::Run

Fournit une boucle de message par défaut.

virtual int Run();

Valeur de retour

Valeur int retournée par WinMain.

Notes

Run acquiert et distribue les messages Windows jusqu’à ce que l’application reçoive un message WM_QUIT. Si la file d’attente de messages de l’application ne contient actuellement aucun message, Run appelle OnIdle pour effectuer un traitement en temps d’inactivité. Les messages entrants vont à la fonction membre PreTranslateMessage pour un traitement spécial, puis à la fonction TranslateMessage Windows pour la traduction de clavier standard ; enfin, la DispatchMessage fonction Windows est appelée.

Run est rarement substitué, mais vous pouvez le remplacer pour fournir un comportement spécial.

CWinApp ::RunAutomated

Appelez cette fonction pour déterminer si l’option « /Automation » ou « -Automation » est présente, ce qui indique si l’application serveur a été lancée par une application cliente.

BOOL RunAutomated();

Valeur de retour

Différent de zéro si l’option a été trouvée ; sinon 0.

Notes

Si elle est présente, l’option est supprimée de la ligne de commande. Pour plus d’informations sur OLE Automation, consultez l’article Serveurs Automation.

CWinApp ::RunEmbedded

Appelez cette fonction pour déterminer si l’option « /Embedding » ou « -Embedding » est présente, ce qui indique si l’application serveur a été lancée par une application cliente.

BOOL RunEmbedded();

Valeur de retour

Différent de zéro si l’option a été trouvée ; sinon 0.

Notes

Si elle est présente, l’option est supprimée de la ligne de commande. Pour plus d’informations sur l’incorporation, consultez l’article Serveurs : Implémentation d’un serveur.

CWinApp ::SaveAllModified

Appelé par l’infrastructure pour enregistrer tous les documents lorsque la fenêtre de trame principale de l’application doit être fermée ou via un message WM_QUERYENDSESSION.

virtual BOOL SaveAllModified();

Valeur de retour

Différent de zéro s’il est sûr de mettre fin à l’application ; 0 s’il n’est pas sûr de mettre fin à l’application.

Notes

L’implémentation par défaut de cette fonction membre appelle la fonction membre CDocument ::SaveModified à son tour pour tous les documents modifiés au sein de l’application.

CWinApp ::SelectPrinter

Appelez cette fonction membre pour sélectionner une imprimante spécifique et relâchez l’imprimante précédemment sélectionnée dans la boîte de dialogue Imprimer.

void SelectPrinter(
    HANDLE hDevNames,
    HANDLE hDevMode,
    BOOL bFreeOld = TRUE);

Paramètres

hDevNames
Handle vers une tructure DEVNAMESqui identifie les noms de port de pilote, d’appareil et de sortie d’une imprimante spécifique.

hDevMode
Handle vers une structure DEVMODE qui spécifie des informations sur l’initialisation et l’environnement de l’appareil d’une imprimante.

bFreeOld
Libère l’imprimante sélectionnée précédemment.

Notes

Si hDevMode et hDevNames sont NULL, SelectPrinter utilise l’imprimante par défaut actuelle.

CWinApp ::SetHelpMode

Définit le type d’aide de l’application.

void SetHelpMode(AFX_HELP_TYPE eHelpType);

Paramètres

eHelpType
Spécifie le type d’aide à utiliser. Pour plus d’informations, consultez CWinApp ::m_eHelpType .

Notes

Définit le type d’aide de l’application.

Pour définir le type d’aide de votre application sur HTMLHelp, vous pouvez appeler EnableHTMLHelp. Une fois que vous appelez EnableHTMLHelp, votre application doit utiliser HTMLHelp comme application d’aide. Si vous souhaitez modifier l’utilisation de WinHelp, vous pouvez appeler SetHelpMode et définir eHelpType sur afxWinHelp.

CWinApp ::SetRegistryKey

Provoque le stockage des paramètres d’application dans le Registre au lieu des fichiers INI.

void SetRegistryKey(LPCTSTR lpszRegistryKey);
void SetRegistryKey(UINT nIDRegistryKey);

Paramètres

lpszRegistryKey
Pointeur vers une chaîne contenant le nom de la clé.

nIDRegistryKey
ID d’une ressource de chaîne contenant le nom de la clé de Registre.

Notes

Cette fonction définit m_pszRegistryKey, qui est ensuite utilisée par les fonctions membres , et GetProfileStringWriteProfileIntWriteProfileString les GetProfileIntfonctions membres de .CWinApp Si cette fonction a été appelée, la liste des fichiers les plus récemment utilisés (MRU) est également stockée dans le Registre. La clé de Registre est généralement le nom d’une entreprise. Il est stocké sous la forme suivante : HKEY_CURRENT_USER\Software\<company name>\<application name\<section name>>\<value name>.

CWinApp ::SupportsApplicationRecovery

Détermine si le gestionnaire de redémarrage récupère une application qui s’est terminée de façon inattendue.

virtual BOOL SupportsApplicationRecovery() const;

Valeur de retour

TRUE indique que le gestionnaire de redémarrage récupère l’application ; FALSE indique que le gestionnaire de redémarrage ne le fait pas.

CWinApp ::SupportsAutosaveAtInterval

Détermine si le gestionnaire de redémarrage enregistre automatiquement les documents à intervalles réguliers.

virtual BOOL SupportsAutosaveAtInterval() const;

Valeur de retour

TRUE indique que le gestionnaire de redémarrage enregistre automatiquement les documents ouverts ; FALSE indique que le gestionnaire de redémarrage ne le fait pas.

CWinApp ::SupportsAutosaveAtRestart

Détermine si le gestionnaire de redémarrage enregistre automatiquement les documents ouverts lorsque l’application redémarre.

virtual BOOL SupportsAutosaveAtRestart() const;

Valeur de retour

TRUE indique que le gestionnaire de redémarrage enregistre automatiquement les documents ouverts lors du redémarrage de l’application ; FALSE indique que le gestionnaire de redémarrage ne le fait pas.

CWinApp ::SupportsRestartManager

Détermine si l’application prend en charge le gestionnaire de redémarrage.

virtual BOOL SupportsRestartManager() const;

Valeur de retour

TRUE indique que l’application prend en charge le gestionnaire de redémarrage ; FALSE indique que l’application ne le fait pas.

CWinApp ::Unregister

Annule l’inscription de tous les fichiers inscrits par l’objet d’application.

virtual BOOL Unregister();

Valeur de retour

Différent de zéro en cas de réussite ; sinon, 0.

Notes

La Unregister fonction annule l’inscription effectuée par l’objet d’application et la fonction Register . Normalement, les deux fonctions sont appelées implicitement par MFC et ne s’affichent donc pas dans votre code.

Remplacez cette fonction pour effectuer des étapes de désinscription personnalisées.

CWinApp ::UnregisterShellFileTypes

Appelez cette fonction membre pour désinscrire tous les types de documents de votre application avec le Gestionnaire de fichiers Windows.

void UnregisterShellFileTypes();

CWinApp ::WinHelp

Appelez cette fonction membre pour appeler l’application WinHelp.

virtual void WinHelp(
    DWORD_PTR dwData,
    UINT nCmd = HELP_CONTEXT);

Paramètres

dwData
Spécifie des données supplémentaires. La valeur utilisée dépend de la valeur du paramètre nCmd .

nCmd
Spécifie le type d’aide demandée. Pour obtenir la liste des valeurs possibles et leur impact sur le paramètre dwData , consultez la fonction Windows WinHelp .

Notes

L’infrastructure appelle également cette fonction pour appeler l’application WinHelp.

L’infrastructure ferme automatiquement l’application WinHelp lorsque votre application se termine.

Exemple

// Header File: HELPIDS.H
//
// This example header file is #include'd twice:
// (1) It is #include'd by the .CPP file that passes the DWORD
//     context i.d. to CWinApp::WinHelp.
// (2) It is #include'd in the [MAP] section of the .HPJ file,
//     to associate the help context string "HID_MYTOPIC" with
//     the help context numeric i.d., 101.
// The help context string "HID_MYTOPIC" is what identifies the
// help topic in the help .RTF source file, in the "#" footnote:
//     # HID_MYTOPIC
//
// Note, it is not necessary to manage help context id's this way
// for help topics associated with command id's and user interface
// id's defined in your RESOURCE.H file; you should use the MAKEHM
// tool via the custom build rule on your resource.h file to produce
// a help map (.HM) file for these id's.  It is necessary to manage
// help context id's as illustrated here only for help topics not
// associated with command id's or user interface id's.

#define HID_MYTOPIC 101

// Show the custom help topic that has the context string
// "HID_MYTOPIC" in the help .RTF file, and which is mapped
// to the DWORD i.d. HID_MYTOPIC in the above HELPIDS.H file.
AfxGetApp()->WinHelp(HID_MYTOPIC);

// The following is one line of code in the help map (.HM)
// file produced by the MAKEHM tool, which is called by the custom
// build rule on the resource.h file.  The MAKEHM tool reads the
// following #define in the application's RESOURCE.H file:
#define ID_MYCOMMAND 0x08004
// and adds a help id offset value of 0x10000 to create the
// help context DWORD value 0x18004:
// HID_MYCOMMAND                           0x18004
// See MFC Tech Note 28 for more information on help id offset values.

// Rarely will you need to directly call WinHelp yourself
// with the help context i.d. for a command or user interface
// object. The framework will call WinHelp automatically when
// the user, for example, hits F1 when the focus is on a
// My Command menu item. However, if you do want to directly
// call WinHelp for the help topic associated with the command,
// here is how you would do it:

AfxGetApp()->WinHelp(0x10000 + ID_MYCOMMAND);

CWinApp ::WriteProfileBinary

Appelez cette fonction membre pour écrire des données binaires dans la section spécifiée du registre de l’application ou . Fichier INI.

BOOL WriteProfileBinary(
    LPCTSTR lpszSection,
    LPCTSTR lpszEntry,
    LPBYTE pData,
    UINT nBytes);

Paramètres

lpszSection
Pointe vers une chaîne terminée par null qui spécifie la section contenant l’entrée. Si la section n’existe pas, elle est créée. Le nom de la section est indépendant de la casse ; la chaîne peut être n’importe quelle combinaison de lettres majuscules et minuscules.

lpszEntry
Pointe vers une chaîne terminée par null qui contient l’entrée dans laquelle la valeur doit être écrite. Si l’entrée n’existe pas dans la section spécifiée, elle est créée.

Pdata
Pointe vers les données à écrire.

octets
Contient le nombre d’octets à écrire.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Exemple

Cet exemple utilise CWinApp* pApp = AfxGetApp(); pour accéder à la classe CWinApp illustrant une façon qui WriteProfileBinary et GetProfileBinary peut être utilisée à partir de n’importe quelle fonction dans une application MFC.

CWinApp *pApp = AfxGetApp();

CString strSection = _T("My Section");
CString strItem = _T("My Binary Item");
double myData = 123.456e12;

pApp->WriteProfileBinary(strSection, strItem, (LPBYTE)&myData, sizeof(myData));
double *pData;
UINT n;
pApp->GetProfileBinary(strSection, strItem, (LPBYTE*)&pData, &n);
ASSERT(n == sizeof(myData));
ASSERT(myData = *pData);
delete[] pData; // free the buffer

Pour obtenir un autre exemple, consultez l’exemple de CWinApp ::GetProfileBinary.

CWinApp ::WriteProfileInt

Appelez cette fonction membre pour écrire la valeur spécifiée dans la section spécifiée du registre de l’application ou . Fichier INI.

BOOL WriteProfileInt(
    LPCTSTR lpszSection,
    LPCTSTR lpszEntry,
    int nValue);

Paramètres

lpszSection
Pointe vers une chaîne terminée par null qui spécifie la section contenant l’entrée. Si la section n’existe pas, elle est créée. Le nom de la section est indépendant de la casse ; la chaîne peut être n’importe quelle combinaison de lettres majuscules et minuscules.

lpszEntry
Pointe vers une chaîne terminée par null qui contient l’entrée dans laquelle la valeur doit être écrite. Si l’entrée n’existe pas dans la section spécifiée, elle est créée.

nValue
Contient la valeur à écrire.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Exemple

Cet exemple utilise CWinApp* pApp = AfxGetApp(); pour accéder à la classe CWinApp illustrant une façon dont WriteProfileString, WriteProfileInt, GetProfileStringet GetProfileInt peut être utilisé à partir de n’importe quelle fonction dans une application MFC.

CWinApp *pApp = AfxGetApp();

CString strSection = _T("My Section");
CString strStringItem = _T("My String Item");
CString strIntItem = _T("My Int Item");

pApp->WriteProfileString(strSection, strStringItem, _T("test"));

CString strValue;
strValue = pApp->GetProfileString(strSection, strStringItem);
ASSERT(strValue == _T("test"));

pApp->WriteProfileInt(strSection, strIntItem, 1234);

int nValue;
nValue = pApp->GetProfileInt(strSection, strIntItem, 0);
ASSERT(nValue == 1234);

Pour obtenir un autre exemple, consultez l’exemple de CWinApp ::GetProfileInt.

CWinApp ::WriteProfileString

Appelez cette fonction membre pour écrire la chaîne spécifiée dans la section spécifiée du Registre de l’application ou . Fichier INI.

BOOL WriteProfileString(
    LPCTSTR lpszSection,
    LPCTSTR lpszEntry,
    LPCTSTR lpszValue);

Paramètres

lpszSection
Pointe vers une chaîne terminée par null qui spécifie la section contenant l’entrée. Si la section n’existe pas, elle est créée. Le nom de la section est indépendant de la casse ; la chaîne peut être n’importe quelle combinaison de lettres majuscules et minuscules.

lpszEntry
Pointe vers une chaîne terminée par null qui contient l’entrée dans laquelle la valeur doit être écrite. Si l’entrée n’existe pas dans la section spécifiée, elle est créée. Si ce paramètre est NULL, la section spécifiée par lpszSection est supprimée.

lpszValue
Pointe vers la chaîne à écrire. Si ce paramètre est NULL, l’entrée spécifiée par le paramètre lpszEntry est supprimée.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Exemple

CWinApp *pApp = AfxGetApp();

CString strSection = _T("My Section");
CString strStringItem = _T("My String Item");
CString strIntItem = _T("My Int Item");

pApp->WriteProfileString(strSection, strStringItem, _T("test"));

CString strValue;
strValue = pApp->GetProfileString(strSection, strStringItem);
ASSERT(strValue == _T("test"));

pApp->WriteProfileInt(strSection, strIntItem, 1234);

int nValue;
nValue = pApp->GetProfileInt(strSection, strIntItem, 0);
ASSERT(nValue == 1234);

Pour obtenir un autre exemple, consultez l’exemple de CWinApp ::GetProfileInt.

CWinApp ::SetAppID

Définit explicitement l’ID de modèle utilisateur de l’application. Cette méthode doit être appelée avant qu’une interface utilisateur soit présentée à l’utilisateur (le meilleur emplacement est le constructeur d’application).

void SetAppID(LPCTSTR lpcszAppID);

Paramètres

lpcszAppID
Spécifie l’ID de modèle utilisateur de l’application.

Notes

Voir aussi

CWinThread, classe
Graphique hiérarchique
Guide pratique pour ajouter la prise en charge du Gestionnaire de redémarrage