shoulder,
Cita:
Empezado por shoulder
quieren que cuando con la tecla tab se vayan moviendo por cada tecla la misma cambie de color porque no quieren usar tanto el mouse y no se dan cuenta donde se van posicionando...
|
Revisa este código:
Código Delphi
[-]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Memo1: TMemo;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure ActiveControlChanged(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ActiveControlChanged(Sender: TObject);
var
I: Integer;
begin
for I:= 0 to ControlCount -1 do
begin
TEdit(Controls[i]).Color := clWindow;
TMemo(Controls[i]).Color := clWindow;
if (Controls[i] is TEdit) and (Controls[i] as TEdit).Focused then
TEdit(Controls[i]).Color := clYellow;
if (Controls[i] is TMemo) and (Controls[i] as TMemo).Focused then
TMemo(Controls[i]).Color := clYellow;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Screen.OnActiveControlChange := ActiveControlChanged;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
Screen.OnActiveControlChange := nil;
end;
end.
En el código anterior se resaltan los controles de entrada del formulario al momento de obtener el focus por medio de la propiedad
OnActiveControlChange, lo cual incluye la tecla Tab, además al usar controles BitBtn con imágenes distintivas se destacan unos de otros y es más fácil determinar visualmente cual BitBtn tiene el focus activo en un momento dado.
En el link anexo esta implementado el código anterior.
El link es :
http://terawiki.clubdelphi.com/Delph...trolChange.rar
Espero sea útil
Nelson.