begin process at 2008 08 08 21:39:02
1 223 607 membres
365 nouveaux aujourd'hui
14 230 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Positionner une boite de dialogue [ Windows / Formulaire / Winforms / Controls ] (watoubilly)

Positionner une boite de dialogue le 13/05/2008 16:39:02

watoubilly
Bonjour,
je souhaiterais savoir comment faire pour controler une boite de dialogue qui n'est pas la sienne mais qui est ouverte.
Mon besoin est de positionner la boite de dialogue à un position donnée.

Attention, la boite de dialogue n'appartient pas à mon exe. On dira que je veux positionner le bloc note en x=100 et y=110 à l'ouverture.

Avez vous une idée pour faire ça en C# ?

;lmkl

Re : Positionner une boite de dialogue le 13/05/2008 17:33:13

bubbathemaster
Va falloir passer par de l'API Windows SendMessage. Je ne connais pas le message responsable du controle du postionnement de la fenêtre, d'autres experts te répondront peut être.

Re : Positionner une boite de dialogue le 14/05/2008 08:03:14

watoubilly
Merci de ta réponse bubbathemaster !
J'attend l'avis des experts.

;lmkl

Re : Positionner une boite de dialogue le 14/05/2008 08:45:48

Bidou
(Admin CS)
Réponse acceptée !
Avec FindWindow suivit de SetWindowPos

[ DllImport( "User32.dll", SetLastError = true ) ]
private static extern IntPtr FindWindow( string className, string windowName );

[ DllImport( "user32.dll", SetLastError = true ) ]
private static extern bool SetWindowPos
(
    IntPtr hWnd,
    IntPtr hWndInsertAfter,
    int X,
    int Y,
    int cx,
    int cy,
    uint uFlags
);


-My Blog-

Re : Positionner une boite de dialogue le 14/05/2008 09:33:05

sebmafate
Membre Club
(Admin CS)
hé hé... en lisant le début du thread, je pensais justement à FindWindow et SetWindowPos.
Mais Bidou est passé par là ;)


Sébastien FERRAND (blog)
Consultant Sénior
[Microsoft Visual C# MVP]

Re : Positionner une boite de dialogue le 14/05/2008 14:41:30

watoubilly
Super les mecs !!
Je test ça ce soir et si ça marche: champagne !!!!!!!!!!!!!!!!

;lmkl

Re : Positionner une boite de dialogue le 14/05/2008 14:53:50

watoubilly
Bon je viens de tester o taff j'ai pas pu resister et ça marche !!
MERCIIIIIIIIIIIIIIIIII

Par contre c'est quoi la correspondance des

HWND_TOP

et

SWP_SHOWWINDOW


----------- mon code a la gros porc ---------

IntPtr

i;

IntPtr HWND_TOP =(IntPtr)0;

uint SWP_SHOWWINDOW = 0;

i = FindWindow(

null, "E:\\");

SetWindowPos(i, HWND_TOP, 100, 100, 100, 100, SWP_SHOWWINDOW);


;lmkl

Re : Positionner une boite de dialogue le 14/05/2008 15:17:00

sebmafate
Membre Club
(Admin CS)
Réponse acceptée !
int HWND_TOP = 0
int SWP_SHOWWINDOW = 0x40;


Sébastien FERRAND (blog)
Consultant Sénior
[Microsoft Visual C# MVP]

Re : Positionner une boite de dialogue le 14/05/2008 15:59:06

watoubilly
Merci Seb,

mais comment tu sais ça ? T'as trouvé dans un coin caché des MSDN ou tu l'as appris par coeur ? :)

;lmkl

Re : Positionner une boite de dialogue le 14/05/2008 16:06:19

Bidou
(Admin CS)
Les constantes sont définies dans les headers (fichier .h).
Doit également se trouver sur MSDN, peut-être à partir d'ici:
[ Lien ]



-My Blog-


[Page 1 Page 2]
Classé sous : boite, positionner, dialogue

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS