Enlever la croix d'une boite de dialogue

cs_jerome1983 Messages postés 13 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 30 juin 2004 - 16 avril 2004 à 11:05
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 16 avril 2004 à 15:47
Bonjour a tous,

Je voudrai savoir s'il est possible d'enlever la croix pour fermer en haut a droite de la boite de dialogue.
Car comme jai un bouton fermer qui a certaine fonction l'utilisateur qui fermerai avec la croix n'executera pas les fonctions du bouton fermé et ca je ne le veut pas.
si oui comment
merci

4 réponses

HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
16 avril 2004 à 11:15
Je ne sais pas comment l'enlever, mais tu peux la désactiver :
Private Sub UserForm_QueryClose(cancel As Integer, closemode As Integer)
if closemode <> 1 then
Cancel = 1
End If
End Sub

Lorsque cancel est différent de 0, alors la fermeture de la croix ne fonctionne pas.

La condition sur le closemode est là pour que tu puisses fermer l'application à partir du code.

Fanny
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
16 avril 2004 à 11:18
Tu peux aussi utiliser l'EVT QueryUnload pour faire ce que fait ton bouton "Fermer" et faire juste un "Unload Me" dans ton bouton

Christophe R.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
16 avril 2004 à 11:39
Salut,
pour invalider la croix de fermeture:

Recup du 'style' de ta classe de fenetre
l = GetClassLong(hwnd, GCL_STYLE)
Modifier le bit CS_NOCLOSE et repositionner le style
SetClassLong(hwnd, GCL_STYLE, l)
redrawer la fenetre
RedrawWindow(hwnd, 0, 0, RDW_INVALIDATE Or RDW_FRAME)

ciao...
BruNews, Admin CS, MVP Visual C++
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
16 avril 2004 à 15:47
Salut,

Pourquoi faire si compliqué ?

un simple NomDeTaForm.ControlBox=false et c dit.

Cordialement

CanisLupus
0
Rejoignez-nous