Hello,
j'ai un Panel_1, qui contient divers éléments (TImage, TLabel, un autre sousPanel...), j'aimerai que lors d'un click n'importe où dans le Panel_1 (sur lui même ou un de ses éléments cités ci avant), le programme exécute une seule et même procédure de gestion de click définie par mes soins.
J'ai donc codé cela:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 {définition de la TForm contenant le panel_1} ... private procedure GestionClick(sender:TObject); {create de la TForm} ... panel_1.OnClick:=GestionClick;
Hélas, ça ne marche que si le click est sur le panel_1 lui même, mais pas sur un des ses éléments enfants...
Existe t'il une manière simple et rapide de prendre en compte tout click à l'intérieur d'un panel ?
Merci.
EDIT : je viens d'avoir une idée : faire une boucle sur les éléments du Panel, qui pour chacun fait un onClick:=GestionClick ... je vais tester...
EDIT2:
J'ai codé ça:
Mais Delphi me dit qu'il connait pas onClick dans cette syntaxe là... pourtant c'est un evt de tControl... comprends pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 for i:=1 to Panel_1.controlCount do begin Panel_1.controls[i-1].OnClick:=GestionClick; end;
EDIT3: j'ai collé un Shape avec Brush = clear qui couvre tout le panel, puis géré le onMouseDown de ce dernier... ça marche.
Partager