cs_satellite34
Messages postés688Date d'inscriptionmercredi 6 avril 2005StatutMembreDernière intervention 2 juin 2006
-
14 sept. 2005 à 01:23
cs_satellite34
Messages postés688Date d'inscriptionmercredi 6 avril 2005StatutMembreDernière intervention 2 juin 2006
-
15 sept. 2005 à 16:36
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 :
fredcl
Messages postés547Date d'inscriptionmercredi 8 janvier 2003StatutMembreDernière intervention 7 octobre 20071 14 sept. 2005 à 18:38
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.
fredcl
Messages postés547Date d'inscriptionmercredi 8 janvier 2003StatutMembreDernière intervention 7 octobre 20071 15 sept. 2005 à 08:32
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.
cs_satellite34
Messages postés688Date d'inscriptionmercredi 6 avril 2005StatutMembreDernière intervention 2 juin 20061 14 sept. 2005 à 02:55
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 :
cs_satellite34
Messages postés688Date d'inscriptionmercredi 6 avril 2005StatutMembreDernière intervention 2 juin 20061 14 sept. 2005 à 14:36
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
cs_satellite34
Messages postés688Date d'inscriptionmercredi 6 avril 2005StatutMembreDernière intervention 2 juin 20061 15 sept. 2005 à 03:36
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 !!!!!!
cs_satellite34
Messages postés688Date d'inscriptionmercredi 6 avril 2005StatutMembreDernière intervention 2 juin 20061 15 sept. 2005 à 16:36
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 !