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

wxWidgets Discussion :

[AddCheckTool] Problème affiche icone


Sujet :

wxWidgets

  1. #1
    Membre éclairé Avatar de AuraHxC
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 652
    Points : 683
    Points
    683
    Par défaut [AddCheckTool] Problème affiche icone
    Alors voilà, j'ai créé une barre d'outils avec des icones. Mais j'ai une icone où je voulais faire un bouton qui s'enclenche quand on appuie dessus et reste dans cette position tant qu'on ne re-appuie pas dessus --> Donc un AddCheckTool mais le soucis c'est que lorsque j'appuie dessus l'icone disparait mais le bouton fonctionne quand même parce que j'appuie dans le vide et mon popup apparait quand même.

    voici le code :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    void CMainFrame::CreateMyToolbar() {
    	m_toolbar = CreateToolBar(wxNO_BORDER | wxTB_HORIZONTAL,TOOLBAR_TOOLS);
    	wxBitmap toolBarBitmaps[4];
    	string temp;
    	string path = "drawtri.app/Contents/MacOS/Bitmaps/";
     
    	wxImage* img1 = new wxImage();
    	wxImage* img2 = new wxImage();
    	wxImage* img3 = new wxImage();
    	wxImage* img4 = new wxImage();
     
    	img1->AddHandler(new wxBMPHandler);
    	img2->AddHandler(new wxBMPHandler);
    	img3->AddHandler(new wxBMPHandler);
    	img4->AddHandler(new wxBMPHandler);
     
    	temp = path+"new.bmp";
    	img1->LoadFile(temp.c_str(),wxBITMAP_TYPE_BMP);
    	toolBarBitmaps[0] = wxBitmap(*img1);
     
    	temp = path+"open.bmp";
    	img2->LoadFile(temp.c_str(),wxBITMAP_TYPE_BMP);
    	toolBarBitmaps[1] = wxBitmap(*img2);
     
    	temp = path+"save.bmp";
    	img3->LoadFile(temp.c_str(),wxBITMAP_TYPE_BMP);
    	toolBarBitmaps[2] = wxBitmap(*img3);
     
    	temp = path+"draw.bmp";
    	img4->LoadFile(temp.c_str(),wxBITMAP_TYPE_BMP);
    	toolBarBitmaps[3] = wxBitmap(*img4);
     
        m_toolbar->SetToolBitmapSize(wxSize(toolBarBitmaps[0].GetWidth(),toolBarBitmaps[0].GetHeight()));
        m_toolbar->AddTool(MENU_NEW,"Nouveau",toolBarBitmaps[0]);
        m_toolbar->AddTool(MENU_OPEN,"Open",toolBarBitmaps[1]);
        m_toolbar->AddTool(MENU_SAVE,"Save",toolBarBitmaps[2]);
        m_toolbar->AddSeparator();
        m_toolbar->AddCheckTool(MENU_LOSANGE,"Losange",toolBarBitmaps[3]);
     
        m_toolbar->Realize();
        SetToolBar(m_toolbar);
    }
    EDIT : j'ai oublié de préciser que j'ai regardé la doc de cette méthode et donc j'ai vu que l'on pouvait passer en paramètre une deuxième image donc me suis dit que j'allais passer la même => mais ca ne résoud pas le problème puisque elle disparait quand même.

  2. #2
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Peut-être un bug dans ta distribution qui sait ?

    Une autre idée qui me vient comme ça, est-ce que tu as essayé en mettant les déclarations dans le .h

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    wxBitmap toolBarBitmaps[4];
    	string temp;
    	string path = "drawtri.app/Contents/MacOS/Bitmaps/";
     
    	wxImage* img1 = new wxImage();
    	wxImage* img2 = new wxImage();
    	wxImage* img3 = new wxImage();
    	wxImage* img4 = new wxImage();
    Lorsque tu as fini de construire, tout est OK, mais lorsque tu cliques les images ne sont peut être plus en mémoire (en tout cas plus accéssibles), peut-être que sous mac (il y a des différences entre platteformes), il faut que tu les laisse en mémoire (il ne fait peut-être pas la copie). Essaie en métant les déclarations locales à ta classe et plus locales à ta fonction.

    Quoiqu'il en soit, il faudrait que je teste sur ma machine.

  3. #3
    Membre éclairé Avatar de AuraHxC
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 652
    Points : 683
    Points
    683
    Par défaut
    La déclaration dans le .h ne résoud pas le problème malheureusement.
    Tu me diras ce que ca te fait quand tu test chez toi parce que je vois pas du tout de quoi ca vient.

  4. #4
    Membre éclairé Avatar de AuraHxC
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 652
    Points : 683
    Points
    683
    Par défaut
    J'ai toujours pas trouvé de solution... Mais je continue de chercher

Discussions similaires

  1. [XSL]Problème affiche noeuds non traités
    Par tomsawyer dans le forum XSL/XSLT/XPATH
    Réponses: 9
    Dernier message: 27/06/2006, 16h22
  2. Problème d'icone dans un treeview
    Par t0ine dans le forum C++Builder
    Réponses: 1
    Dernier message: 09/03/2006, 16h28
  3. [D6] OndrawColumncell champs boolean: Afficher Icon
    Par Redsky dans le forum Composants VCL
    Réponses: 15
    Dernier message: 05/02/2006, 15h25
  4. Problème d'icone
    Par Oberown dans le forum Windows 2000/Me/98/95
    Réponses: 3
    Dernier message: 19/10/2005, 15h14
  5. problème d'icone
    Par Philippe299 dans le forum MFC
    Réponses: 1
    Dernier message: 09/09/2005, 20h48

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