Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
J'ai une fenêtre qui en ouvre une autre avec des paramètres. Cette deuxième comporte un bouton avec du code pour la fermer, mais si l'utilisateur clique sur la croix au lieu du bouton, pb plante. J'ai essayé de mettre le bout de code dans la fonction close, mais rien n'y fait.
Donc je voulais savoir q'il y a un moyen de virer cette croix ou de la désativer.
Merci
Dernière modification par dark ryus (17-04-2009 14:07:21)
Hors ligne
Ta première idée n'était pas mauvaise, mais il faut coder dans closequery() et non dans le close().
Le mieux est de définir un boolean d'instance de ta fenêtre et de la passer à True dans le bouton quitter.
Dans le closequery, si le boolean est faux alors tu fais simplement un return 1 pour bloquer la fermeture....
Hors ligne
Ok mais cette solution bloque ma fenêtre après..... elle ne se ferme pas et elle est désactivée...
bon je viens de trouver une solution, il y avais un bout de code qui génais et j'ai plus de problème maintenant.
Merci pour le coup de main
Hors ligne
Sinon, pour vraiment désactiver la croix d'une fenêtre, il y a un bout de code qui traine sur le forum et que j'avais déjà repris :
j'ai dans préopen :
uint SC_CLOSE = 61536 uint MF_BYCOMMAND = 0 uint MF_GRAYED = 1 EnableMenuItem(GetSystemMenu(handle(this), FALSE), SC_CLOSE, MF_BYCOMMAND + MF_GRAYED) return 1
external functions :
Function ulong GetSystemMenu(ulong hWnd, BOOLEAN bRevert) Library "user32.dll" Function BOOLEAN EnableMenuItem(ulong hMenu, uint uIDEnableItem, uint uEnable) Library "user32.dll"
Dernière modification par micmx (20-04-2009 12:15:25)
Hors ligne