begin process at 2012 05 30 12:39:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

wxGenericDirCtrl----->J' arrive pas arecupérer un clik droit


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

wxGenericDirCtrl----->J' arrive pas arecupérer un clik droit

mercredi 14 septembre 2005 à 01:23:14 | wxGenericDirCtrl----->J' arrive pas arecupérer un clik droit

satellite34

bonjour,

Voila, dans mon appli j' ai un wxGenericDirCtrl qui affiche l' arborescence de l' ordinateur;

j' arrive bien a récuperer l' événement EVT_TREE_ITEM_EXPANDING qui ouvre l' arbo.

Par contre, dés que je lance EVT_TREE_ITEM_ACTIVATED rien ne se passe,
EVT_TREE_ITEM_RIGHT_CLICK pareil, aucune réaction;
Erf, j' ai tenté d' utiliser le débuggueur GDB de wxDevCpp 6.8 mais la, franchement, je ne comprends pas grand chose aux logs;

A votre avis d' ou ce probleme peut-il venir????J' ai essayé ,par curiosité, de dériver une classe de wxGenericDirCtrl mais rien n' y fait, ces events ne marchent pas non plus dans une classe dérivée.

 vraiment, la, je me demande....et deviens...... car je dois absolument appeller un double clik et un clik droit sur cette arborescence !!!!!!!!!!
Boon, je met quand meme le constructeur, bien que je pense que le pb n' a rien a voir avec lui :

m_dirctrl = new wxGenericDirCtrl(localSplitter, ID_DIRCTRL, wxEmptyString,
                                     wxDefaultPosition, wxDefaultSize,
                                     wxDIRCTRL_3D_INTERNAL|wxDIRCTRL_EDIT_LABELS|wxSUNKEN_BORDER,
                                     _("All files (*.*)|*.*"), 0);

Vraiment je blok.......

event.Merci();
@+;
ROOT_DIEU Alias satellite34

mercredi 14 septembre 2005 à 02:55:54 | Re : wxGenericDirCtrl----->J' arrive pas arecupérer un clik droit

satellite34

re,

Alors la c'est vraiment mystique :

Je créé une classe Arbo dérivée de wxGenericDirCtrl, je vous la met :

class Arbo : public wxGenericDirCtrl
{
public :
    Arbo(wxWindow* parent,
        const wxWindowID id = -1,
        const wxString& dir = wxDirDialogDefaultFolderStr,
        const wxPoint& pos = wxDefaultPosition,
        const wxSize& size = wxDefaultSize,
        long style = wxDIRCTRL_3D_INTERNAL|wxSUNKEN_BORDER,
        const wxString& filter = wxEmptyString,
        int defaultFilter = 0);
~Arbo();
private :     
    DECLARE_EVENT_TABLE()
protected :
        void
OnRightClick(wxMouseEvent &event);
};
/*
Donc comme vous le voyez j' appelle un clik droit sur cette classe :

EVT_RIGHT_DOWN(Arbo::OnRightClick)

Implémentation simplissime :

void Arbo::OnRightClick(wxMouseEvent &event)
{
     wxMessageBox("yééééééééééé ca marche enfin!", "", wxOK|wxCENTRE, this);
}

erf, PKOI ca ne MARCHE PAAAAAAAAAAAAAAAAS !!!!!!!!!!!!!!!!?????????????????

Je craque, logiquement cette fonction devrait afficher une MB sur mon DirCtrl au centre !!!!!!!
Non??

event.Merci();
@+;
ROOT_DIEU Alias satellite34

mercredi 14 septembre 2005 à 10:15:45 | Re : wxGenericDirCtrl----->J' arrive pas arecupérer un clik droit

MoDDiB

Et en mettant l'event sur le parent du wxGenericDirCtrl ? Il "suffirait" de calculer à partir de la position du click ensuite
mercredi 14 septembre 2005 à 10:23:07 | Re : wxGenericDirCtrl----->J' arrive pas arecupérer un clik droit

MoDDiB

Euh sinon essais comme ca :
void Arbo::OnRightClick(wxTreeEvent &event)
{
     wxMessageBox("yééééééééééé ca marche enfin!", "", wxOK|wxCENTRE, this);
}

Bon et sinon je me doutes que
EVT_RIGHT_DOWN(Arbo::OnRightClick)
est bien déclaré où il faut ..


mercredi 14 septembre 2005 à 14:36:49 | Re : wxGenericDirCtrl----->J' arrive pas arecupérer un clik droit

satellite34

yo,

Bah, tu te doutes bien qu' avant de poster sur cppFrance j' ai déja essayé tt ca! En fait , je n' arrive a recuperer aucun evenement de wxTreeCtrl dans mon wxGenericDirCtrl à part item expanded

AU SECOURS !!!!!!!!!

event.Merci();
@+;
ROOT_DIEU Alias satellite34

mercredi 14 septembre 2005 à 18:38:32 | Re : wxGenericDirCtrl----->J' arrive pas arecupérer un clik droit

fredcl

Réponse acceptée !
Bonjour,

J'ai pas trop le temps de t'expliquer, ni de regarder plus, mais regarde ma source "XPM Convert" ici ou sur mon site http://cfred.free.fr (je l'ai d'ailleurs un peu relooké) il y a une utilisation de wxGenericDirCtrl.

Logiquement si tu utilise ceci EVT_TREE_ITEM_RIGHT_CLICK(wxID_TREECTRL, maFrame::MaFonctionPourLeClickdroit) ça devrais marcher.

Cordialement

FredCL
jeudi 15 septembre 2005 à 03:36:28 | Re : wxGenericDirCtrl----->J' arrive pas arecupérer un clik droit

satellite34

Bonjour,

tout d' abord bien pour le site, l'est plus simpa comme ca je trouve;
Je suis allé dans ta source et j' ai guétté xpmFrame.cpp et .h, et xmapp;

J' ai vu que tu appellait 
EVT_TREE_SEL_CHANGED(wxID_TREECTRL, XpmFrame::OnTreeSelChanged) 

T l' appelle sur l' id wxID_TREECTRL, et non sur ID_DIRECTORY;

erf, je n' ai pas trouvé l' objet lié a wxID_TREECTRL ;
Pourquoi pas ID_DIRECTORY ?????

Sinon, j' ai peut etre pas vu mais je ne capte pas de fonction Activate Item sur un wxGenericDirCtrl dans xpmConvert, si ca y est bien, merci de m' indiquer le fichier auquel faire réference.(sisi, j' ai cherché !)

Et aussi, ya un truc que je ne comprends pas : j'm'explique :

J' arrive a recup. un event sur le genericDirctrl, a savoir un clik ;
EVT_TREE_ITEM_EXPANDING ------> OK
Le truk c'est que, com'ca, pour voir , j' ai mis une MB a la fin de ma fonction et cette MB ne s' affiche pas!!!!!!regardez :
void FTPclientFrm::OnSelectItem(wxTreeEvent &event)
{
    wxString path =  m_dirctrl->GetPath();
    m_dirctrl->ExpandPath(path);
   wxMessageBox("lala", "", wxOK|wxCENTRE, m_dirctrl);   //marche popo
}

par contre, ca marche; en effet, le  dirctrl réagit bien et effectue un expand path MAIS PAS DE MB !!!!!!

Vraiment faut qu' on m' explique.

event.Merci();
@+;
ROOT_DIEU Alias satellite34

jeudi 15 septembre 2005 à 08:32:05 | Re : wxGenericDirCtrl----->J' arrive pas arecupérer un clik droit

fredcl

Réponse acceptée !
Bonjour,

explication vite fait (j'aipas le temps, beaucoup de travail)
wxGenericDirCtrl est un composé de plusieurs controle dont un wxTreeCtrl dont l'ID est wxID_TREECTRL. Je t'avais conseillé de prendre les sources de wxWidgets et de regarder un peu tu aurais pu trouver en regardant un peu.

Cordialement

FredCL
jeudi 15 septembre 2005 à 16:36:42 | Re : wxGenericDirCtrl----->J' arrive pas arecupérer un clik droit

satellite34

Yo,

Bien le merci fredCl, maintenant, je regarde les classes avant de les utiliser, c'est bien plus instructif que la documentation;
Erf, désolé mais je débute : tout à apprendre !!!
Mais c' est bien, enfin j' avance !

event.Merci();
@+;
ROOT_DIEU Alias satellite34



Cette discussion est classée dans : arrive, droit, evt, clik, wxgenericdirctrl


Répondre à ce message

Sujets en rapport avec ce message

Winsock avec Dev-c++ [ par Thaeron ] J'arrive pas a utiliser winsock avec dev-c++ y me faut surement ajouter une librairie mais j'y arrive pas, le compilateur ne la prend pas en compte sv Menu contextuel avec le bouton droit [ par header ] Voila mon problème : G une ListBox et j'aimerai lui attacher un menu contextuel c'est àdire que lorsque je séléctionee quelquechose dedns en faisant u j'y arrive pas <-(((((( [ par emilia123 ] Bonjour je programme sur Builder c++ (en ce moment j'essaye le 5), et j'aimerais pouvoir modifier la fonction de réponse d'un bouton (le onclick) mais arrive pas a compiler .... [ par Heero ] #include void display();int main(int argc, char **argv){ glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); Enregistrer/ouvrir fichier vc++ 6 [ par apientry ] Au secours!J'ai un gros probleme, je n'arrive pas à enregistrer un fichier (txt par ex), comment faire? je sais comment apeler la boite de dialogue, G Outp()->Port série sous Visual C++ [ par Manson ] 'lut tout le monde,kk'un sait comment on utilise outp() sous Visual C ?Paske j'aimerais faire un control pour le port série. Mais je n'arrive pas à ut menu contexturl dans la barre des taches [ par dadoo6 ] Bonjour a tous.Voila je viens de creer une application pour les cours, et j'ai besoin de la mettre dans la barre des taches (a cote de l'heure) et de pb de progress bar en visual c++ [ par glipper ] Voila je debute en programmation visual c++ et je n'arrive pas à faire marcher une progress bar. J'arrive à la faire apparaitre dans ma boite de dialo bouton non visible cliquable [ par VVolf ] je cherche à rendre mon bouton de ma boite de dialogue non visible(jusquà la j'y arrive ) et cliquale( la je n'y arrive plus).KSi vous avez une idée o J'arrive pas HELP ME [ par g0belin ] system("net send "+Edit1->Text+" "+Edit2->Text);erreur:[C++ Erreur] Unit1.cpp(36): E2034 Impossible de convertir 'AnsiString' en 'const char *'


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales