Menu Fichier dans une application de base de données MFC
Si vous créez une application de base de données MFC et que vous n’utilisez pas de sérialisation, comment interpréter les commandes Ouvrir, Fermer, Enregistrer et Enregistrer sous dans le menu Fichier Alors qu’il n’existe aucune directive de style pour cette question, voici quelques suggestions :
Supprimez entièrement la commande Ouvrir du menu Fichier.
Interprétez la commande Open en tant que « base de données ouverte » et affichez à l’utilisateur une liste de sources de données que votre application reconnaît.
Interprétez la commande Open comme , peut-être, « ouvrir le profil ». Conservez Open pour ouvrir un fichier sérialisé, mais utilisez le fichier pour stocker un document sérialisé contenant des informations de « profil utilisateur », telles que les préférences de l’utilisateur, y compris son ID de connexion (éventuellement à l’exclusion du mot de passe) et la source de données avec laquelle il a récemment travaillé.
L’Assistant Application MFC prend en charge la création d’une application sans commandes de menu Fichier liées au document. Sélectionnez la vue Base de données sans option de prise en charge de fichier dans la page Support de base de données.
Pour interpréter une commande de menu Fichier d’une manière spéciale, vous devez remplacer un ou plusieurs gestionnaires de commandes, principalement dans votre CWinApp
classe dérivée. Par exemple, si vous remplacez OnFileOpen
complètement (qui implémente la ID_FILE_OPEN
commande) pour signifier « open database : »
N’appelez pas la version de classe de base de
OnFileOpen
, car vous remplacez complètement l’implémentation par défaut du framework de la commande.Utilisez plutôt le gestionnaire pour afficher une boîte de dialogue répertoriant les sources de données. Vous pouvez afficher un tel dialogue en appelant
CDatabase::OpenEx
ouCDatabase::Open
avec le paramètre NULL. Cette opération ouvre une boîte de dialogue ODBC qui affiche toutes les sources de données disponibles sur l’ordinateur de l’utilisateur.Étant donné que les applications de base de données n’enregistrent généralement pas un document entier, vous souhaiterez probablement supprimer les implémentations Enregistrer et Enregistrer sous, sauf si vous utilisez un document sérialisé pour stocker les informations de profil. Sinon, vous pouvez implémenter la commande Save en tant que, par exemple, « commit transaction ». Pour plus d’informations sur la substitution de ces commandes, consultez la Note technique 22 .
Voir aussi
Sérialisation : sérialisation et entrée/sortie de la base de données