Positionnement par Api d'une liste de Directorie

Résolu
Cjvg Messages postés 330 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 26 octobre 2017 - 9 oct. 2008 à 15:43
Cjvg Messages postés 330 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 26 octobre 2017 - 9 oct. 2008 à 19:20
Bonjour, 

   J'utilise les Apis  - SHBrowseForFolder(Boite) et SHGetPathFromIDList -  pour afficher des
directories.

Question: Peux t'on positionner la boite affichée par ces Apis à un endroi précis sur l'écran   (Left - Top)

Merci pour votre réponse.

5 réponses

Cjvg Messages postés 330 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 26 octobre 2017
9 oct. 2008 à 19:20
Voilà la solution:






'* Pour tester l'activité d'un Processus --------------------------------


Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long


Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long


Const SWP_NOSIZE = &H1








'------------------------------------------------------------------------
' On demande de positionner le Processus 
'------------------------------------------------------------------------


Private Sub Command1_click()


Dim Jleft As Integer


Dim Jtop As Integer


Jleft = 10000 / Screen.TwipsPerPixelX


Jtop = 5000 / Screen.TwipsPerPixelX


Call Onpositionne("Rechercher un Dossier", Jleft, Jtop)


End Sub





'-------------------------------------------------------------------------
' On positionne le processus
'-------------------------------------------------------------------------





Function Onpositionne(Parm1 As String, Jleft As Integer, Jtop As Integer)


Dim hwnd As Long


hwnd = FindWindow(vbNullString, Parm1) '* Récupérer le HWnd d'un Projet


If hwnd = 0 Then Exit Function


SetWindowPos hwnd, 0, Jleft, Jtop, 0, 0, SWP_NOSIZE


End Function
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
9 oct. 2008 à 15:58
Salut,

As-tu regarder dans les paramètre que l'api attend, pour voir si cela est possible de le faire ?

A+
Exploreur

 Linux a un noyau, Windows un pépin
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
9 oct. 2008 à 16:01
Non...j'viens de voir...^^

Par contre je pense que tu pourrais le faire en récupérant le PId et le Hwnd de cette fenêtre et utiliser une autre api qui te permet de positionner cette fameuse fenêtre à l'écran, voir API : SetWindowsPos

A+
Exploreur

 Linux a un noyau, Windows un pépin
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
9 oct. 2008 à 16:28
Bonjour, (et un salut à Exploreur)

Cherche dans les sources celle qui s'intitule "POSITIONNER UNE MSGBOX"
Regarde et analyse le code et vois si tu peux l'adapter..
0

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

Posez votre question
Cjvg Messages postés 330 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 26 octobre 2017
9 oct. 2008 à 18:27
   Je vais étudier vos propositions.
   Si je solutionne mon problème,  je vous communiquerais la réponse à ma question.

Merci encore
0
Rejoignez-nous