Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   pintar los edits de un form (https://www.clubdelphi.com/foros/showthread.php?t=78232)

kapcomx 30-03-2012 23:50:22

pintar los edits de un form
 
ke tal compañeros, una vez mas acudo a ustedes para pedir su ayuda, pues la situacion es esta:

1. Tengo en un form varios Tedit. la persona que lo usa me dijo que necesitaba que le resaltara el cuadro donde estaba actualmente por que se perdia. (en realidad no son tantos cuadros pero gente exagerada).

2. Me di a latarea de hacer en el evento onenter un cambio de color y en el evento on exit regresarlo al color original (esto Tedit por Tedit).. Lo cual me resulta bastante tardado.

3. el problema es que son como 6 formularios parecidos.

quisiera saber si existe una forma de hacerlo menos complicado...(bueno no es complicado mas bien talachudo y tardado).

tal vez si existiera algo como

Código Delphi [-]
 
formactual.componenteactivo.eventoonenter
begin
componenteactivo.color:=......
end;

de antemano les agradezco su atención

:cool:

ecfisa 31-03-2012 01:36:16

Hola kapcomx.

Probá de este modo:
Código Delphi [-]
type
  TForm1 = class(TForm)
  ...
  private
     FPrevCtrlFocused: TWinControl;
     procedure ActiveCtrlChange(Sender: TObject) ;
  public
  end;

...

implementation

procedure TForm1.ActiveCtrlChange(Sender: TObject);
begin
  if FPrevCtrlFocused is TEdit then
    TEdit(FPrevCtrlFocused).Color:= clWindow;
  if Screen.ActiveControl is TEdit then
  begin
    TEdit(Screen.ActiveControl).Color:= clMoneyGreen; 
    FPrevCtrlFocused:= ActiveControl;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Screen.OnActiveControlChange := ActiveCtrlChange;
  FPrevCtrlFocused:= Screen.ActiveControl;
end;
...
procedure TForm1.FormDestroy(Sender: TObject);
begin
  Screen.OnActiveControlChange:= nil;
end;

Saludos.

kapcomx 02-04-2012 23:49:54

Gracias
 
Amigo Ecfisa, Perdon por no responder luego, probe la solución que me indicaste y funciono de maravilla. Gracias Por tu ayuda.

Saludos...:cool:


La franja horaria es GMT +2. Ahora son las 23:44:55.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi