Evènement d'une feuille mdi

Résolu
cs_masterfree Messages postés 55 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 14 juillet 2012 - 10 avril 2012 à 10:30
cs_masterfree Messages postés 55 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 14 juillet 2012 - 10 avril 2012 à 12:37
Bonjour à tous,

Je voulais savoir si les cases situées en haut à droite (case windows) peuvent être désactivées sur une forme MDI comme c'est le cas pour une form standard ?

Merci d'avance de vos réponses.


Cordialement.
Masterfree

5 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 avril 2012 à 11:37
Mats ce code dans la toute première form fille montrée ! Cela suffira.
Rien ne t'empêche non plus, si tu le souhaites, de mettre tout cela dans un module, mais en gérant une fonction (appelons-la toto) déclarée publiquer dans le module bas et reprenant toutes les instructions qui se trouve dans l'évènement activate ci-dessus !

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 avril 2012 à 10:59
Bonjour,
Oui, mais depuis l'évènement Activate de la forme fille et en utilisant des fonctions de l'Api de Windows.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 avril 2012 à 11:17
Je viens de le vérifier. Fonctionne.
Exemple :
Mets ce code dans le module de la Form Fille :
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
   (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
   (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _
      ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Private Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type

Private Sub Form_Activate()
  Dim lStyle As Long
  Dim RectMdi As RECT
  GetWindowRect MDIForm1.hwnd, RectMdi
  lStyle = GetWindowLong(MDIForm1.hwnd, (-16))
  lStyle = lStyle And Not &H80000
  lStyle = lStyle And Not &H10000
  lStyle = lStyle And Not &H20000
  lStyle = lStyle And Not &HC00000 '===================>> mets en commentaires si tu veux ler caption
  SetWindowLong MDIForm1.hwnd, (-16), lStyle
  SetWindowPos MDIForm1.hwnd, 0, RectMdi.Left, RectMdi.Top, RectMdi.Right - RectMdi.Left, RectMdi.Bottom - RectMdi.Top, &H40
End Sub


Ta MDI devant, dans cet exemple, être nommée MDIForm1
Fonctionne bien (également vérifié) même si menu présent dans MDI.

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
cs_masterfree Messages postés 55 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 14 juillet 2012
10 avril 2012 à 11:30
Mets ce code dans le module de la Form Fille :
Bonjour ucfoutu,

Tu me parles de FormFille, mais j'en ai plus d'une centaine.
De plus, je les ai mises avec l'attribut de la propriété "BorderStyle" à 0.
Donc, pour moi, elles ne sont pas concernées.
Dans le cas contraire, je me vois mal intégrer ces lignes de codes dans toutes les feuilles.
Si je mets ça dans un module, est-ce que ça va marcher, c'est la question que je me pose ?

Ta MDI devant, dans cet exemple, être nommée MDIForm1
Fonctionne bien (également vérifié) même si menu présent dans MDI.

Non, je n'ai pas mis de menu parce que je n'ai que trop peu de commandes (4 au total).



Cordialement.
Masterfree
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_masterfree Messages postés 55 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 14 juillet 2012
10 avril 2012 à 12:37
C'est bien vu ucfoutu.
Merci de ton aide.
A+

Cordialement.
Masterfree
0
Rejoignez-nous