Delphi中给活动控件画上矩形边框

  {private

    procedure DrawFocusRectangle(sender: TObject);

  public

    { Public declarations }

  end;}



var

  Form1: TForm1;

  FocusRectangle: TShape;



implementation



{$R *.dfm}



//窗体创建事件中加如下代码
procedure
TForm1.FormCreate(Sender: TObject); begin FocusRectangle := TShape.Create(Self); FocusRectangle.Shape := stRectangle; FocusRectangle.Visible := False; FocusRectangle.Brush.Style := bsClear; FocusRectangle.Pen.Style := psDot; FocusRectangle.Pen.Color := clRed; FocusRectangle.Pen.Width := 1; {在Screen的OnActiveControlChange事件中处理}
Screen.OnActiveControlChange :
= DrawFocusRectangle; end; procedure TForm1.DrawFocusRectangle; begin with FocusRectangle do begin Parent := Screen.ActiveControl.Parent; Top := Screen.ActiveControl.Top -2 ; Height := Screen.ActiveControl.Height + 4; Left := Screen.ActiveControl.Left - 2; Width := Screen.ActiveControl.Width + 4; Visible := True; end; end; procedure TForm1.FormDestroy(Sender: TObject); begin Screen.OnActiveControlChange := nil; FocusRectangle.Free; end;

 

你可能感兴趣的:(Delphi)