Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
François Picalausa
Hello,
Il existe trois méthode pour repositionner un common dialog.
Si tu affiche la boite de dialogue par l'API GetOpenFileName (ce qui a pour avantage d'éviter de devoir redistribuer l'ocx), tu peux te référer au post suivant: http://groups.google.com/groups?selm=%23ZF0Xs89DHA.2316%40TK2MSFTNGP11.phx.gbl
Si tu emploies le contrôle, le fait de le mettre dans un picturebox (ou autre container) qui sera lui à la bonne position permet de repositionner la boite de dialogue. (Ceci ne fonctionne peut-être plus avec le SP6? je viens de réessayer et pas moyen....)
Il est aussi possible d'intercepter par API la boite de dialogue lorsqu'elle est affichée, comme montré dans le post suivant: http://groups.google.com/groups?selm=u1lcQx89DHA.2324%40tk2msftngp13.phx.gbl
-- François Picalausa
"Armando R." a écrit dans le message de news: 41f2ca74$0$25624$
bonsoir, est il possible de positionner la boite de dialogue "Ouvrir un Fichier" à un endroit précis de la fenêtre de mon application ?...
Hello,
Il existe trois méthode pour repositionner un common dialog.
Si tu affiche la boite de dialogue par l'API GetOpenFileName (ce qui a pour
avantage d'éviter de devoir redistribuer l'ocx), tu peux te référer au post
suivant:
http://groups.google.com/groups?selm=%23ZF0Xs89DHA.2316%40TK2MSFTNGP11.phx.gbl
Si tu emploies le contrôle, le fait de le mettre dans un picturebox (ou
autre container) qui sera lui à la bonne position permet de repositionner la
boite de dialogue. (Ceci ne fonctionne peut-être plus avec le SP6? je viens
de réessayer et pas moyen....)
Il est aussi possible d'intercepter par API la boite de dialogue lorsqu'elle
est affichée, comme montré dans le post suivant:
http://groups.google.com/groups?selm=u1lcQx89DHA.2324%40tk2msftngp13.phx.gbl
--
François Picalausa
"Armando R." <artools@free.fr> a écrit dans le message de news:
41f2ca74$0$25624$626a14ce@news.free.fr
bonsoir,
est il possible de positionner la boite de dialogue "Ouvrir un
Fichier" à un endroit précis de la fenêtre de mon application ?...
Il existe trois méthode pour repositionner un common dialog.
Si tu affiche la boite de dialogue par l'API GetOpenFileName (ce qui a pour avantage d'éviter de devoir redistribuer l'ocx), tu peux te référer au post suivant: http://groups.google.com/groups?selm=%23ZF0Xs89DHA.2316%40TK2MSFTNGP11.phx.gbl
Si tu emploies le contrôle, le fait de le mettre dans un picturebox (ou autre container) qui sera lui à la bonne position permet de repositionner la boite de dialogue. (Ceci ne fonctionne peut-être plus avec le SP6? je viens de réessayer et pas moyen....)
Il est aussi possible d'intercepter par API la boite de dialogue lorsqu'elle est affichée, comme montré dans le post suivant: http://groups.google.com/groups?selm=u1lcQx89DHA.2324%40tk2msftngp13.phx.gbl
-- François Picalausa
"Armando R." a écrit dans le message de news: 41f2ca74$0$25624$
bonsoir, est il possible de positionner la boite de dialogue "Ouvrir un Fichier" à un endroit précis de la fenêtre de mon application ?...
Christian HUBERT-HUGOUD- Xtrem7
Il faut mettre un hook qui appelle la fonction suivante :
Public Function OFNHookProc(ByVal hdlg As Long, ByVal uiMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Dim lpNMHDR As NMHDR Dim rc As RECT, CurTop&, CurLeft&
If (uiMsg = WM_NOTIFY) Then Call CopyMemory(lpNMHDR, ByVal lParam, LenB(lpNMHDR)) If (lpNMHDR.Code = CDN_INITDONE) Then ' il faut redimensionner la fenêtre *après* l'exécution de ce message, sinon les ' contrôles se trouvant dans la fenêtre ne se redimensionne pas correctement. ' On envoit donc un message custom (WM_USER+1) qui sera traité *après* CDN_INITDONE Call PostMessage(hdlg, WM_USER + 1, 0, ByVal 0&) End If ElseIf (uiMsg = WM_USER + 1) Then ' on vient de recevoir notre message custom, on repositionne/redimensionne la fenêtre
' on a traité le message et on ne veut pas que Windows y touche. OFNHookProc = 1 End If
End Function
Cette fonction place et redimensionne le dialogue, en fonction de BackForm. Moi, je l'utilise dans une classe. Si tu veux plus d'infos ou les fichiers :
Cordialement
Christian Hubert-Hugoud
"Armando R." a écrit dans le message de news:41f2ca74$0$25624$
bonsoir, est il possible de positionner la boite de dialogue "Ouvrir un Fichier" à un endroit précis de la fenêtre de mon application ?...
Il faut mettre un hook qui appelle la fonction suivante :
Public Function OFNHookProc(ByVal hdlg As Long, ByVal uiMsg As Long, ByVal
wParam As Long, ByVal lParam As Long) As Long
Dim lpNMHDR As NMHDR
Dim rc As RECT, CurTop&, CurLeft&
If (uiMsg = WM_NOTIFY) Then
Call CopyMemory(lpNMHDR, ByVal lParam, LenB(lpNMHDR))
If (lpNMHDR.Code = CDN_INITDONE) Then
' il faut redimensionner la fenêtre *après* l'exécution de ce
message, sinon les
' contrôles se trouvant dans la fenêtre ne se redimensionne
pas correctement.
' On envoit donc un message custom (WM_USER+1) qui sera traité
*après* CDN_INITDONE
Call PostMessage(hdlg, WM_USER + 1, 0, ByVal 0&)
End If
ElseIf (uiMsg = WM_USER + 1) Then
' on vient de recevoir notre message custom, on
repositionne/redimensionne la fenêtre
' on a traité le message et on ne veut pas que Windows y touche.
OFNHookProc = 1
End If
End Function
Cette fonction place et redimensionne le dialogue, en fonction de BackForm.
Moi, je l'utilise dans une classe. Si tu veux plus d'infos ou les fichiers :
c2h@xtrem7.com
Cordialement
Christian Hubert-Hugoud
"Armando R." <artools@free.fr> a écrit dans le message de
news:41f2ca74$0$25624$626a14ce@news.free.fr...
bonsoir,
est il possible de positionner la boite de dialogue "Ouvrir un Fichier"
à un endroit précis de la fenêtre de mon application ?...
Il faut mettre un hook qui appelle la fonction suivante :
Public Function OFNHookProc(ByVal hdlg As Long, ByVal uiMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Dim lpNMHDR As NMHDR Dim rc As RECT, CurTop&, CurLeft&
If (uiMsg = WM_NOTIFY) Then Call CopyMemory(lpNMHDR, ByVal lParam, LenB(lpNMHDR)) If (lpNMHDR.Code = CDN_INITDONE) Then ' il faut redimensionner la fenêtre *après* l'exécution de ce message, sinon les ' contrôles se trouvant dans la fenêtre ne se redimensionne pas correctement. ' On envoit donc un message custom (WM_USER+1) qui sera traité *après* CDN_INITDONE Call PostMessage(hdlg, WM_USER + 1, 0, ByVal 0&) End If ElseIf (uiMsg = WM_USER + 1) Then ' on vient de recevoir notre message custom, on repositionne/redimensionne la fenêtre
' on a traité le message et on ne veut pas que Windows y touche. OFNHookProc = 1 End If
End Function
Cette fonction place et redimensionne le dialogue, en fonction de BackForm. Moi, je l'utilise dans une classe. Si tu veux plus d'infos ou les fichiers :
Cordialement
Christian Hubert-Hugoud
"Armando R." a écrit dans le message de news:41f2ca74$0$25624$
bonsoir, est il possible de positionner la boite de dialogue "Ouvrir un Fichier" à un endroit précis de la fenêtre de mon application ?...