Anzeigen wo der Focus ist?

Rund um die LCL und andere Komponenten
Antworten
TT73GP7
Beiträge: 238
Registriert: Di 29. Mär 2016, 20:45

Anzeigen wo der Focus ist?

Beitrag von TT73GP7 »

Hallo zusammen,

ich habe eine Form mit ganz vielen Edit Feldern.
Nun möchte ich Anzeigen welches der Felder nun grade den Focus hat.



wie geht denn sowas?

Mathias
Beiträge: 6165
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Anzeigen wo der Focus ist?

Beitrag von Mathias »

Dies sollte mit den Ereignissen OnEnter und OnExit gehen.

Mit diesem Mini beispiel kann du es automatisch auf alle Edit-Felder anwenden.

Code: Alles auswählen

unit Unit1;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
 
type
 
  TEdit = class(StdCtrls.TEdit)
    procedure DoEnter; override;
    procedure DoExit; override;
  end;
 
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
  private
    { private declarations }
  public
    { public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.lfm}
 
procedure TEdit.DoEnter;
begin
  inherited DoEnter;
  Color := $FF;
end;
 
procedure TEdit.DoExit;
begin
  inherited DoExit;
  Color := $FFFF;
end;
 
end.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten