Warium
Messages postés36Date d'inscriptionjeudi 27 mars 2008StatutMembreDernière intervention27 janvier 2010
-
16 août 2008 à 16:57
JulioDelphi
Messages postés2226Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention18 novembre 2010
-
22 août 2008 à 11:37
Salut tout le monde. ma question est :
Comment inverser l'evenement OnMouseMove d'un Panel lorsque je passe dans un autre panel
j'eclaircis : j'ai plusieurs panels et sont tous liés a un meme evenement OnMouseMove , je voudrai qu'il soit activé a un seul panel au meme temps et tous les autres reviennent a l'état initial(avant cet évenement).
Merci D'avance.
JulioDelphi
Messages postés2226Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention18 novembre 201014 22 août 2008 à 11:37
Salut !
J'ai mis cette procédure sur mes panels et ça fonctionne (peut importe le nombre de panels) :
procedure TForm1.PanelMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var i: Integer;
begin
for i:=0 to ComponentCount-1 do
if (Components[i] is TPanel) then
(Components[i] as TPanel).Color:= clBtnFace;
(Sender as TPanel).Color:= clRed;
end;
Ta question n'est pas claire : Si tu veux qu'un évènement soit communs à différents objets et connaitre l'objet qui appel cet évènement, il suffit d'utiliser le Sender.
procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
IF Sender Is TPanel Then
Showmessage((Sender As TPanel).Caption);
end;
Copier Panel1MouseMove:
Aller dans l'inspecteur d'objet et sélectionné la propriété MouseMove du Panel2 et coller Panel1MouseMove
Compiler et admirer le résultat
Vous n’avez pas trouvé la réponse que vous recherchez ?
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 16 août 2008 à 17:31
Oui ma méthode n'est pas compatible avec les OnMouseMove : tu recopies mon code (ou celui de Francky ^^) dans par exemple le OnMouseMove de Panel1, et tu lies tous les autres OnMouseMove des autres panels à cette routine. (Penser à lier également la routine à la fiche, comme ça le rouge ne reste pas sur le dernier panel pointé) ^^.