Avant tout Deux - Trois petites choses :
Il faut créer 2 fenêtres , une qui sera votre fenêtre sans bordure que l'on appelle SBfrm et l'autre que l'on appelle Mini et un bouton de minimisement dans SBfrm que l'on appellera minicmd.
Certains s'en doutent déjà, je passe par l'astuce de cacher la form SBfrm (sans la décharger) et mettre le Mini à la place dans le taskBar.
Voila donc Comment faire :
'Dans la SBfrm Public STARMINI as Boolean Private Sub minicmd_click() STARMINI = True Visible = True Caption = Me.Caption 'mettre le titre de la form SBfrm dans la barre de tache mini.Icon = me.Icon 'mettre l'icône de la form SBfrm dans la barre de tache Load mini WindowState = vbMinimised End Sub 'Dans Mini Private Sub mini_Resize() If me.WindowState = vbNormal And STARMINI = False then Visible = True Visible = False end if If STARMINI = True Then STARMINI = False End Sub '
FAQ (Foire aux questions)
Pourquoi STARMINI ?
Le problème d'invoquer mini est qu'il exécute mini_resize(). Or à ce moment là, si STARMINI n'existe pas, votre fenêtre mini va se croire encore en VbNormal et donc va remettre les paramètres normaux. C'est même pire en réalité car la commande me.visible = False s'exécute après mini.resize et donc on se retrouve avec une application fantôme.
Pourquoi alors ne pas mettre d'abord minimized avant l'invocation de mini?
L'invocation de mini remet le windowsState en vbNormal, retour a la case départ !
Qu'est ce que "l'invocation d'une fenêtre"?
C'est un langage à moi qui veut dire : Frm.Visible = true & load Frm
Ça marche pas ??
Heureux de savoir que l'informatique reste encore un mystère. Chez moi ça marche, mais chez vous que ce qui ne marche pas exactement, donnez plus d'explications (ex: la commande "..." ne marche pas, ou il me donne l'erreur "...")
Il est alors plus facile de répondre à votre question
Ça Marche .
Je sais que ce n'est pas une question mais à ce moment là ou même si ça marche pas donnez une note !!
Nico1610 alias ERGO5