Récupérer les infos de l'explorateur d'objets

cs_PROGRAMMIX Messages postés 1133 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 24 juillet 2011 - 25 oct. 2003 à 22:45
nasplit Messages postés 1 Date d'inscription mercredi 18 juin 2003 Statut Membre Dernière intervention 5 novembre 2003 - 5 nov. 2003 à 17:01
Il m'arrive souvent de vouloir imprimer me faire ma petite documentation papier sur tel ou tel objet.

J'aimerais alors pouvoir récupérer les informations telles qu'elles peuvent se présenter dans l'explorateur d'objet afin de pouvoir les imprimer.

Quelqu'un sait-il où se trouvent ces informations ?
Comment l'explorateur d'objets manipule celles-ci ?

Est-il pensable d'ajouter un bouton à l'explorateur d'objet afin de lui faire imprimer ses zones de liste ?

Programmix

17 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 oct. 2003 à 00:31
d'ajouter un bouton ne servirait a rien s'il n'y a pas de routine d'impression de prevue dans l'explorateur d'objets.
Reecrire sa logique pour trouver les informations serait un peu long mais si tu obtenais le hwnd de sa listbox, te suffirait ?
Si oui, en simili code:
hcadre = FindWindow(ExploreObjets)
hlist = GetDlgItem(hcadre, idLIST)
On obtient le idLIST avec Spy++ de Visual Studio. Je te l'aurais donne si j'avais eu VB d'installe.
BruNews, ciao...
0
cs_PROGRAMMIX Messages postés 1133 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 24 juillet 2011 2
26 oct. 2003 à 00:42
Ca me paraît bien compliqué tout cela...

Remarque, je ne m'attendais pas à ce que cela soit facile au niveau de la connection avec l'exploreur (Je crois bien que c'est du boulot pour Renfield ou DarkSidious...)

Mais as-tu une idée de l'endroit où l'explorer va chercher ses informations sur les différentes bibliothèques ?

Programmix
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 oct. 2003 à 00:51
je ne sais pas comment il est fait mais sortir les items de sa listbox n'a rien de complique, si tu veux on voit cela demain, pour l'heure ce sera dodo.
BruNews, ciao...
0
cs_PROGRAMMIX Messages postés 1133 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 24 juillet 2011 2
26 oct. 2003 à 09:00
OK...
Mais à l'heure où je te réponds, c'est plutôt "bonjour" car j'étais au lit avant toi...

Programmix
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
26 oct. 2003 à 13:22
Il faudrait reussir a lire les informations contenues dans les fichiers Tlb ou Dll liés au projet....... (pas simple !)

By Renfield

[mailto:thomas_reynald@msn.com thomas_reynald@msn.com]

Aucune touche n'a ete blessee lors de la saisie de ce texte.......... ;)
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
26 oct. 2003 à 16:32
A mon avis, l'explorateur d'objet de VB fait une liste des déclarations contenues dans les DLL. Par contre, je ne vois pas comment on peux faire pour refaire ce qu'il fait !

Par contre, je pense qu'il doit être possible de retrouver le handle de la listbox par la position du curseur... je vais essayer de voir si j'y arrive ;-)

DarK Sidious

[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
27 oct. 2003 à 10:22
Voilà le code pour trouver le handle de la listebox à partir de la position du curseur :

Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare Function WindowFromPoint Lib "user32" (ByVal xPoint As Long, ByVal yPoint As Long) As Long

Private Type POINTAPI
    X As Long
    Y As Long
End Type

Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

'déclaration des variables privées
Dim PNT_Curseur As POINTAPI
Dim LNG_Handle As Long

    'on récupère la position du curseur
    GetCursorPos PNT_Curseur
    
    'on récupère le handle de la fenêtre située en dessous du curseur (le handle de la listbox dans ton cas précis)
    LNG_Handle = WindowFromPoint(PNT_Curseur.X, PNT_Curseur.Y)

End Sub


Je sais, ce n'est pas vraiment très propre comme code, et surtout, ca oblige de redétecter le handle à chaque changement de position de l'explorateur d'objet, mais c'est la seule méthode que je connaissent pour récupèrer le handle d'un contrôle particulier d'un programme ! Si quelqu'un a mieux, je suis preneur !

DarK Sidious

[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
27 oct. 2003 à 10:27
Tu n'as pas SPY++ de Visual Studio, il te donnerait le idCtrl de chaque controle de la fenetre.
Ensuite avec GetDlgItem(hparent, idCtrl) tu obtiens tous les handle.
BruNews, ciao...
0
cs_PROGRAMMIX Messages postés 1133 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 24 juillet 2011 2
27 oct. 2003 à 14:53
Merci pour ce début de réponse, mais là je patauge parce que je ne sais pas comment je dois m'y prendre pour la suite... Y a pas à dire, la programmation API, c'est pas de la gnognote...

Histoire d'abuser, Dark Sidious et Renfield (et tout autre programmeur), pourriez-vous bricoler un complément VB qui, d'un clic, permettrait d'enregistrer dans un fichier texte (histoire de faire simple) et/ou imprimer le contenu de la "fenêtre Classes" et "Membres de..." ?

Programmix
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
27 oct. 2003 à 15:22
Je ne sais pas programmer de complèments, vu que j'en ai jamais fait... désolé

DarK Sidious

[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
27 oct. 2003 à 15:58
Y en a un qui pourrait verifier si explorObjets de Office est identique a celui de VB ?
Si oui je verrai ce que je peux faire.
BruNews, ciao...
0
cs_PROGRAMMIX Messages postés 1133 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 24 juillet 2011 2
27 oct. 2003 à 16:33
=> BruNews : au point de vue interface, je ne vois aucune différence.

=> DarkSidious : à défaut de complément, une application autonome alors... je verrai ensuite si je pourrais créer un complément...
Programmix
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
27 oct. 2003 à 16:40
Je viens de jeter un oeil sur celui de Office, ben c'est pas joue d'avance. Tous les controles sont sous classes.
S'il y a moyen, tu voudrais quoi dans un fichier, toute la liste de gauche et celle de droite ?
BruNews, ciao...
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
27 oct. 2003 à 16:50
Ben en fait, j'ai du mal à récupèrer le texte du listbox de l'explorateur d'objet !
Brunews : Comment tu fait pour récupèrer le texte d'une listbox dont tu connais le handle ?

DarK Sidious

[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
0
cs_PROGRAMMIX Messages postés 1133 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 24 juillet 2011 2
27 oct. 2003 à 16:54
Voici un exemple de ce dont je rêve...

Si je sélectionne la bibliothèque DAO, l'explorateur m'affiche les objets, les méthodes et propriétés correspondant.
Etant encore un "avaleur de papier" (d'où mon "logo"), j'aimerais pouvoir imprimer un document reprenant un peu comme un sommaire, les objets, leurs méthodes et leurs propriétés.

Programmix
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
27 oct. 2003 à 17:02
len = SendMessage(hlist, LB_GETTEXT, index, pBuffer);
len vaudra le nombre ce caracteres inseres dans pBuffer sans compter le ZERO final.
BruNews, ciao...
0
nasplit Messages postés 1 Date d'inscription mercredi 18 juin 2003 Statut Membre Dernière intervention 5 novembre 2003
5 nov. 2003 à 17:01
bonjour,

est ce qu'il y a eu un aboutissement a vos recherches sur une récupération du contenu de l'explorateur d'objet en question ?

nasplit
0
Rejoignez-nous