2010-08-17 7 views
4

J'ai besoin d'une boîte de saisie dans un programme d'interface utilisateur déjà écrit dérivé de la classe CWinnApp et utilisant MFC.Boîte de saisie dans un programme MFC CWinApp?

Je vois qu'il utilise des boîtes de message mais je ne vois pas d'exemples de boîtes d'entrée ....

Comment puis-je faire cela?

(Utilisation de Visual Studio 6.0 en C++)

Merci.

Répondre

8

Je sais que c'est quelque chose qui est souvent nécessaire, mais il n'y a pas de boîte de saisie intégrée dans MFC, vous devrez donc créer le vôtre. Je crée habituellement une simple boîte de dialogue avec une étiquette et une boîte d'édition (la boîte de dialogue contient déjà les boutons OK/Annuler), puis crée une classe, disons CInputDlg, ajoute des variables membres pour l'étiquette et la zone d'édition dialogue:

CInputDlg dialog; 
dialog.m_label = TEXT("Enter a number:"); 
if (dialog.DoModal() == IDOK) { 
    // Do something 
} 
+0

cela ne semble pas trop mal, je donnerai un coup de feu, merci. –

+0

Dois-je hériter d'une classe spécifique pour utiliser DoModal? Le CDialog? Y a-t-il un exemple d'une telle classe? –

+1

ClassWizard devrait tout faire pour vous, y compris la création de la classe et l'ajout des variables de contrôle nécessaires. [Voici un article] (http://www.informit.com/library/content.aspx?b=Visual_C_PlusPlus&seqNum=61) qui vous guide tout au long de ce processus. – casablanca

3

Vous devez créer une boîte de dialogue et y placer un contrôle d'édition. Il n'y a pas de solution automagique. Vous devez le coder ou trouver du code sur le web.

1

Lorsque vous avez créé votre application MFC, quel type de projet avez-vous dit à l'assistant de générer? Habituellement, je fais le mien en tant qu'application Dialog, et puis c'est une simple question de placer une zone de texte sur la boîte de dialogue.

+0

Je crois que l'OP cherche une boîte de saisie pop-up (modale), semblable à une boîte de message. – casablanca

+0

@casablanca, mes compétences en lecture d'esprit doivent être un peu moins aujourd'hui. Je pense que tu as raison. –

0

Dans Visual Studio 2008, il est simple:

  1. Dans la vue des ressources, faites un clic droit sur la boîte de dialogue Directory et choisissez Ajouter une ressource ... ou insérer dialogue (choisir ce numéro d'identification option vous n'êtes pas sûr de ce que type de dialogue).
  2. Cliquez sur les outils et ajouter un texte statique et modifier le contrôle et tous les outils que vous souhaitez ajouter tapez le nom de la boîte de dialogue et le nom de la classe, cela ajoutera un fichier d'en-tête et le fichier .cpp à votre projet directement.
  3. Ajoutez les contrôles que vous souhaitez ajouter à votre classe
Questions connexes