1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
/* capture de la souris, si le panel s'affiche ailleurs qu'à l'endroit où l'on clique... */
void __fastcall TFormeModale::FormeModaleShow(TObject *Sender)
{
// code éventuel
SetCapture(Panel1->Handle);
}
/* fin de la capture quand la souris est sur la forme */
void __fastcall TFormeModale::Panel1MouseEnter(TObject *Sender)
{
ReleaseCapture();
}
/* capture quand on la quitte */
void __fastcall TFormeModale::Panel1MouseLeave(TObject *Sender)
{
SetCapture(Panel1->Handle);
}
/* ferme quand on clique hors de la forme */
void __fastcall TFormeModale::Panel1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
if(X<0 || Y<0 || X>=Width || Y>=Height) {
ReleaseCapture();
ModalResult=mrCancel;
}
} |
Partager