Je souhaite faire une application en C++ avec des fenêtres grâce Visual C++.
J'arrive a faire mes fenêtres mais je n'arrive pas a faire que quand je clique sur un bouton ça m'amène a une autre fenêtre.
Comment faire ??
Merci d'avance
Je souhaite faire une application en C++ avec des fenêtres grâce Visual C++.
J'arrive a faire mes fenêtres mais je n'arrive pas a faire que quand je clique sur un bouton ça m'amène a une autre fenêtre.
Comment faire ??
Merci d'avance
Slt je crois que tu n'est pas ton le bon forum car ici c'est C# a ne pas confondre avec C++ quoi qu'il en soit la syntaxe est tres ressemble car C# herite de C++ est l'evolution selon microsoft et non Darwin
C->C++->C# oui on ajoute ++ a chaque fois alors a quand C++++++
bon en C# pour faire apparaitre une autre form
Form2 frm = new Form2();
frm.Show();
sa doit etre equivalent en C++ mais va poser la question sur le forum C++
Merci
Je comprend pu rien sur le forum C++ on me dit de venir ici et ici c'est l'inverse
Je pense que le mieux est dans le sous forum Managé/Natif
Les règles du forum
Le trio magique : FAQ + Cours + fonction rechercher
Mes articles
Pas de questions par messages privés svp
Software is never finished, only abandoned.
le mieux est le forum C++/CLI,
regarde dans la faq C++/CLI http://dotnet.developpez.com/faq/cpp...rms#newwinform
J'ai été dans la FAQ grace au lien
Mais je ne sais pas ou inclureComment créer et afficher une nouvelle Winform ?
auteur : nico-pyright(c)
Il faut dans un premier temps créer une nouvelle Winform :
Click droit sur le projet --> Add -- New Item --> UI --> Winforms Form.
Là, nommez-la comme bon vous semble, par exemple Form2. Visual Studio génère donc une nouvelle classe, et la winform est modifiable également à travers l'IDE.
Pour afficher cette nouvelle form, par exemple depuis un click sur un bouton de la première form, il faut inclure le Form2.h dans le fichier .h de notre première Form (Form1.h par défaut).
#include "Form2.h"
Ensuite dans l'événement du click sur le bouton (ou autre), il faut instancier la classe et appeler la méthode Show() sur l'objet créé.
Form2 ^maForm2 = gcnew Form2();
maForm2->Show();
Notez que la méthode Show() affiche la fenêtre simplement. On peut également utiliser ShowModal() pour qu'elle soit modale comme une boîte de dialogue.Form2 ^maForm2 = gcnew Form2();
maForm2->Show();
et bien ca dépend, tu veux que la nouvelle form s'ouvre à quelle occasion ?
si c'est lors du click sur un bouton, il faut le mettre dans la méthode qui est générée lors de l'événement du click sur le bouton (pour savoir comment générer la méthode click, voir dans ce tuto http://nico-pyright.developpez.com/t...s/#LhelloWorld , c'est expliqué pour le label, mais le principe est le meme)
Si j'ai bien compris il faut que j'introduise
dans mon code sourceForm2 ^maForm2 = gcnew Form2();
maForm2->Show();
apres la ligne#include "Form2.h"
#pragma once
namespace projet1 {
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System:ata;
using namespace System:rawing;
/// <summary>
/// Description résumée de Form1
///
/// AVERTISSEMENT : si vous modifiez le nom de cette classe, vous devrez modifier la
/// propriété 'Nom du fichier de ressources' de l'outil de compilation de ressource managée
/// pour tous les fichiers .resx dont dépend cette classe. Dans le cas contraire,
/// les concepteurs ne pourront pas interagir correctement avec les ressources
/// localisées associées à ce formulaire.
/// </summary>
public ref class Form1 : public System::Windows::Forms::Form
{
public:
Form1(void)
{
InitializeComponent();
//
//TODO : ajoutez ici le code du constructeur
//
}
protected:
/// <summary>
/// Nettoyage des ressources utilisées.
/// </summary>
~Form1()
{
if (components)
{
delete components;
}
}
private: System::Windows::Forms::Button^ button1;
protected:
private:
/// <summary>
/// Variable nécessaire au concepteur.
/// </summary>
System::ComponentModel::Container ^components;
#pragma region Windows Form Designer generated code
/// <summary>
/// Méthode requise pour la prise en charge du concepteur - ne modifiez pas
/// le contenu de cette méthode avec l'éditeur de code.
/// </summary>
void InitializeComponent(void)
{
this->button1 = (gcnew System::Windows::Forms::Button());
this->SuspendLayout();
//
// button1
//
this->button1->Location = System:rawing:oint(51, 76);
this->button1->Name = L"button1";
this->button1->Size = System:rawing::Size(194, 106);
this->button1->TabIndex = 0;
this->button1->Text = L"button1";
this->button1->UseVisualStyleBackColor = true;
this->button1->Click += gcnew System::EventHandler(this, &Form1::button_click);
//
// Form1
//
this->AutoScaleDimensions = System:rawing::SizeF(6, 13);
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
this->ClientSize = System:rawing::Size(292, 266);
this->Controls->Add(this->button1);
this->Name = L"Form1";
this->Text = L"Form1";
this->ResumeLayout(false);
}
#pragma endregion
private: System::Void button_click(System::Object^ sender, System::EventArgs^ e) {
}
};
}
private: System::Void button_click(System::Object^ sender, System::EventArgs^ e) {
merci mais quand je test mon projet il y a 4 erreurs------ Début de la génération : Projet : projet1, Configuration : Debug Win32 ------
Compilation en cours...
projet1.cpp
c:\documents and settings\d1e2w\mes documents\visual studio 2005\projects\projet1\projet1\Form1.h(89) : error C2065: 'Form2' : identificateur non déclaré
c:\documents and settings\d1e2w\mes documents\visual studio 2005\projects\projet1\projet1\Form1.h(89) : error C2065: 'maForm2' : identificateur non déclaré
c:\documents and settings\d1e2w\mes documents\visual studio 2005\projects\projet1\projet1\Form1.h(89) : error C2061: erreur de syntaxe : identificateur 'Form2'
c:\documents and settings\d1e2w\mes documents\visual studio 2005\projects\projet1\projet1\Form1.h(90) : error C2227: la partie gauche de '->Show' doit pointer vers un type class/struct/union/générique
le type est ''unknown-type''
tu dois débuter en C++, peut-etre qu'un ptit cours ou un ptit bouquin pourrait t'aider
il faut bien sur inclure dans ce fichier le fichier .h qui contient la définition de form2
Code : Sélectionner tout - Visualiser dans une fenêtre à part #include "Form2.h"
elle est déjà inclue a la première ligne du code
est-ce que Form2 inclu également form1.h ?
si oui voir dans la faq c++/cli a cet endroit http://dotnet.developpez.com/faq/cpp...s#crossinclude
si non, uploade ton projet que je jette un coup d'oeil
Ça depend oui et non car je souhaite faire un programme où comme dans les programmes d'installation quand tu clique sur le bouton tu accédé a " une autre page "
est-ce que la solution des déclarations anticipées solutionne ton problème ?
Après une absence hier je recréer un nouveau projet et sa marche.
Mais il s'ouvre une deuxième fenêtre lorsque je clique sur le bouton
comment faire pour que seulement le contenu de la fenêtre change??
Merci
ah ba c'était pas la question posée
pour ca, plusieurs méthodes, mais peut-etre que le plus simple serait de cacher la premiere fenetre et d'ouvrir la deuxieme à la meme position.
Sinon, utiliser 2 panels ou 2 usercontrols
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager