IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++/CLI Discussion :

modifier BackgroundImage en cour de programme


Sujet :

C++/CLI

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 99
    Par défaut modifier BackgroundImage en cour de programme
    Bonjour,

    Je voudrais modifié l'image de fond de la feuille en cliquant par exemple sur un bouton.
    A la création dans les proprièté de la feuille ceci est créé.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this->BackgroundImage = (cli::safe_cast<System::Drawing::Image^  >(resources->GetObject(L"$this.BackgroundImage")));
    Ma question :
    Peut-ton utilisé une autre image de fond que celle de démmarrage.

    MERCI

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    bien sur, une image sur le disque ? en ressources ?
    il faut utiliser la méthode Image::From... suivant tes besoins, stream ou fichier sur le disque
    tu as un exemple dans la faq C++/CLI http://dotnet.developpez.com/faq/cpp...#loadressource en utilisant les ressources

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 99
    Par défaut
    Bonjour,
    Problème avec essai de la FAQ : La FAQ dit :
    Click droit sur le projet --> Properties --> Linker --> Input --> Embed Managed Resource File ..
    Indiquer le path complet du fichier à intégrer (exemple : e:\abc.bmp). !!!
    Je ne c'est pas si j'effectue la bonne manip (voir image) ?
    Pièce jointe 15226
    Ensuite j'utilise le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) {
    			pictureBox1->Image = Image::FromStream(Reflection::Assembly::GetExecutingAssembly()->GetManifestResourceStream("Anim_Dés.gif")); 
    	}
    mais une erreur survient :
    Pièce jointe 15227
    Je dois mal mis prendre. J'ai bien inclus le namespace dit dans la FAQ aussi.

    Autre Question :
    J'utilise alors pour l'instant, ceci qui fonctionne bien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
    			String^ dir = Directory::GetCurrentDirectory() ;
    			pictureBox1->Image = Image::FromFile(dir + "/Images/Anim_Dés.gif");
    	}
    Mon problème est que si en cour de programme, je ne souhaite plus mettre d'image dans la pictureBox1 :: Quel code utiliser ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    pictureBox1->Image = Image::FromFile(" ");  // ne peut pas être vide.
    pictureBox1->Image = Image::FromFile();  // argument oblicatoire.
    Faut-il que je crée une toute petite image vide, est l'appeller a ce moment ?

    MERCI d'avance pour vos réponse.

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    en francais, ca donne :
    propriété --> éditeur de liens --> entrée --> incorporation du fichier de ressources managé

    ce sont les propriétés sur le projet

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 99
    Par défaut
    Bonjour,

    OK fichier de ressource bien mis, mais problème avec le namespace :
    Est-ce bien en haut de la Form1 qu'il faut le renseigner avec ceux déjà existant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    #pragma once
     
    namespace AjoutImage {
     
    	using namespace System;
    	using namespace System::ComponentModel;
    	using namespace System::Collections;
    	using namespace System::Windows::Forms;
    	using namespace System::Data;
    	using namespace System::Drawing;
    	using namespace System::IO; // pour le PATH.
    //	using namespace System::Reflection;
    //	using namespace System::Reflection::Assembly;
    	namespace Reflection::Assembly;
    //	namespace System::Reflection;
     
    	/// <summary>
    	/// Description résumée de Form1
    car j'en essaye plusieur est toujour un message d'erreur à la compilation. J'ai supprimé mon répertoire DEBUG et réessayer = toujours NOK.
    using namespace System::Reflection::Assembly; ou using namespace Reflection; ou using namespace Reflection::Assembly; = "n'est pas un espace de noms".
    test idem mais sans le ::Assembly; = impossible d'ouvrir le fichier.

    MERCI, si info supplémentaire.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 99
    Par défaut
    Bonjour,

    ok Nicolas, c'est mon path du fichier image qui est mauvais.
    J'ai effectué un test en mettant mon image dans C:\xxx.gif et tous fonctionne bien avec l'instruction mise au bonne endroit + le : using namespace System::Reflection;

    je vais cherché du côté path de mon fichier.

    MERCI encore.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. cours de programmation par objet
    Par tanguy.L dans le forum Langage
    Réponses: 1
    Dernier message: 02/02/2008, 19h37
  2. Réponses: 5
    Dernier message: 17/01/2008, 11h40
  3. Modifier le wallpaper depuis un programme
    Par Davidbrcz dans le forum Linux
    Réponses: 3
    Dernier message: 02/05/2007, 15h30
  4. Cours Tutoriels Programmation Systeme en C sous Linux en Français
    Par hocine1978 dans le forum Administration système
    Réponses: 3
    Dernier message: 19/12/2006, 23h11
  5. Modifier une option dans un programme (IE)
    Par Nuxiz dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 04/11/2006, 22h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo