Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #6  
Antiguo 17-11-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Este ejemplo cambia la leyenda y color del Label actualmente seleccionado como pides:
Código Delphi [-]
...
implementation {$R *.dfm}

var
  vLbs: array of TLabel;
  inx : Integer = 0;

procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
begin
  // buscar labels y agregarlos al arreglo
  for i := 0 to Self.ComponentCount-1 do
    if Self.Components[i] is TLabel then
    begin
      SetLength(vLbs, Length(vLbs)+1);
      vLbs[High(vLbs)] := TLabel(Components[i]);
    end;
  // leyenda y color del primer item
  TLabel(vLbs[Low(vLbs)]).Font.Color := clLime;
  TLabel(vLbs[Low(vLbs)]).Caption := TLabel(vLbs[Low(vLbs)]).Caption + ' Color verde';
  // leyenda y color de los items siguientes
  for i := Low(vLbs)+1 to High(vLbs) do
  begin
    TLabel(vLbs[i]).Font.Color := clYellow;
    TLabel(vLbs[i]).Caption := TLabel(vLbs[i]).Caption + ' Color amarillo';
  end;
  // el form recibe los eventos de teclado primero
  Self.KeyPreview := True;
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  // cambiar leyenda y color del item previamente seleccionado
  TLabel(vLbs[inx]).Caption := Copy( TLabel(vLbs[inx]).Caption,1,
    Pos(' Color', TLabel(vLbs[inx]).Caption) ) + 'Color amarillo';
  TLabel(vLbs[inx]).Font.Color := clYellow;

  case Key of
    VK_DOWN: if inx < High(vLbs) then
               Inc(inx)
             else
               Inx := Low(vLbs);
    VK_UP  : if inx > Low(vLbs) then
               Dec(inx)
             else
               Inx := High(vLbs);
  end;

  // cambiar leyenda y color del item actualmente seleccionado
  TLabel(vLbs[inx]).Caption := Copy( TLabel(vLbs[inx]).Caption,1,
    Pos(' Color', TLabel(vLbs[inx]).Caption) ) + 'Color verde';
  TLabel(vLbs[inx]).Font.Color := clLime;
end;
El comportamiento es cíclico, es decir que si estas en el Label inferior y continuas presionando la tecla Down regresa al superior y viceversa con la tecla Up.

Muestra:



Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Modificar Labels emme_juegos OOP 1 13-12-2010 00:02:28
Restar dos labels stynpy29 Varios 2 01-06-2010 16:44:00
labels y campos josi Varios 1 15-05-2008 11:44:51
Transparencia en labels .NET edalmasso .NET 0 11-04-2006 21:18:16
Labels Verticales KAISSER Impresión 3 11-06-2003 10:07:02


La franja horaria es GMT +2. Ahora son las 19:28:42.


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
Copyright 1996-2007 Club Delphi