MouseDown et Forme modale
Bonsoir,
J'utilise actuellement une forme modale (TForm affichée par ShowModal()). Je souhaiterais qu'elle puisse se fermer quand l'utilisateur clique en dehors de la forme. Donc, idéalement, je voudrais quelque chose comme
Code:
1 2 3 4 5 6 7 8
|
void __fastcall TMaForme::FormMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
if(X<0 || Y<0 || X>=Width || Y>=Height) {
ModalResult=mrCancel;
}
} |
Oui, mais voila, à la différence d'une forme affichée avec Show() et ayant capturé la souris, l'évènement MouseDown ne semble pas intervenir quand je clique en dehors de la forme modale... Je n'arrive pas non plus à capturer correctement la souris, car les évènements MouseEnter et MouseLeave semblent désactivés...
Quelqu'un sait il comment faire?
A défaut, j'aurais la question subsidiaire suivante ...
Supposons que ce soit impossible, je sais avoir ce comportement pour une forme non modale (en capturant la souris quand on sort et qu'on entre dans la forme, et en écrivant le code ci dessus), mais je voudrais prévenir, comme dans une forme modale, le composant appelant de la fermeture de la forme (comme quand on fait des ShowModal()==mrOk)
Merci d'avance,
Francois