Bonjour à tous,
j'ai une application WindowsForm A qui est une Form simple et unique, j'ai une autre application WindowsForm B qui est une application MDI.
de l'application A, je récupère le handle de la MainForm de l'application B, car je voudrais que la Form (qui est la form principale de mon application A) devienne une MDIChild form de l'application B.
pour se faire j'utilise l'API SetWindowLong et SetParent de user32.Dll.
donc de mon application A j'exécute le code suivant :
la form de l'application A se retrouve bien dans le le MDI de l'application B, mais elle n'a plus de barre de titre, et lorsque de l'application B je créé une MDIChild, cette MDIChild "Native" de l'application B reste toujours derrière la form qui vien de l'application A, de plus lorsque j'affiche le nombre de Form enfant contenu dans l'application B, la form de l'application A n'est pas prise en compte dans le count.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SetWindowLong(this.Handle, GWL_STYLE, WS_CHILD | WS_VISIBLE); SetWindowLong(this.Handle, GWL_EXSTYLE, WS_EX_MDICHILD); SetParent(this.Handle,iHWND); //iHWND est le handle de la MainForm de l'application B.
et là je sèche, alors si vous avez une idée pour "transférer" une fenêtre d'une application X dans une application MDI Y en tant MDIChild ?
merci d'avance.
Phil
Partager