procedure TForm1.FormCreate(Sender: TObject); begin Shape1.Brush.Style := bsClear;//Ds l'inspecteur d'objets Shape1.Visible := false; //Ds l'inspecteur d'objets end; procedure FrameControl(Sender: TObject; Gap, Width, Color: Integer); var Ctrl : TControl absolute Sender; begin if Ctrl.HasParent then Form1.Shape1.Parent := Ctrl.Parent; Form1.Shape1.Pen.Color := Color; Form1.Shape1.Pen.Width := Width; Form1.Shape1.SetBounds(Ctrl.Left-Gap-Width,Ctrl.Top-Gap-Width, Ctrl.Width+Gap+Gap+Width+Width, Ctrl.Height+Gap+Gap+Width+Width); Form1.Shape1.Show; end; //Exemples: procedure TForm1.Button1Enter(Sender: TObject); begin FrameControl(Sender, 2, 5, clred); end; procedure TForm1.Label1Click(Sender: TObject); begin FrameControl(Sender, 2, 5, clred); end; procedure TForm1.Memo1Enter(Sender: TObject); begin FrameControl(Sender, 2, 5, clred); end;
procedure ChangeCadre; var i : integer; for i:= 0 to Self.ComponentCount do begin if Components[i] is TButton then begin // ton traitement end; end; end;
procedure TForm1.ButtonClick(Sender: TObject); begin if Sender is TButton then /// end;
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionprocedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer); begin with Bevel1 do begin if ActiveControl <> nil then begin Left := ActiveControl.Left - 6; Top := ActiveControl.Top - 6; Width := ActiveControl.Width + 8; Height := ActiveControl.Height + 8; Show; end else Hide; end; end;
procedure TMDIChild.Edit1Enter(Sender: TObject); begin Refresh; FrameControl(Edit1, 4, 4, clBlue); end;