Bonjour à tous
Je vous pose le contexte.
Une application VB6 avec une MdiForm et des MdiChild.
La MdiForm comporte une Toolbar.
Je souhaite qu'à certains moments une MdiChild reste au premier plan par rapport aux autres MdiChild, comme une fenêtre modale.
Pour cela j'utilise cette API :
frm_Main étant bien sûr le conteneur principal.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Const GWL_HWNDPARENT = (-8) Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal wNewLong As Long) As Long Public Sub KeepScreenVisible(frm As Form) 'if the form is to stay on top, frm.hwnd will get the name of the form Dim KeepScreenOnTop As Long KeepScreenOnTop = SetWindowLong(frm.hwnd, GWL_HWNDPARENT, frm_Main.hwnd) End Sub
Cela fonctionne parfaitement, cependant sur une de mes MdiChild, j'ai un treeview et lorsque je sélectionne celui-ci (pour le déployer), la Toolbar de la fenêtre parent disparait et impossible de la voir s'afficher à nouveau.
Je précise que pour les autres contrôles de cette forme, listbox, je n'ai pas de disparition de la ToolBar.
Merci à tous ceux qui pourront m'aiguiller.
Philippe
Partager