Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-11-2017
Milworm99 Milworm99 is offline
Miembro
NULL
 
Registrado: nov 2017
Posts: 31
Poder: 0
Milworm99 Va por buen camino
Cita:
Empezado por duilioisola Ver Mensaje
Yo lo haría de forma ligeramente diferente, para que fuera mas sencillo agregar un label nuevo.

Código:
procedure TForm2.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  // Tecla abajo
  if (GetKeyState(VK_DOWN)<0) then
  begin
    // Si el ultimo laber no es verde muevo el color.
    if Label3.Font.Color <> clLime then
    begin
      Label3.font.color := Label2.font.color;
      Label2.font.color := Label1.font.color;
      Label1.font.color := clYellow;
    end
  end;
end;
Muchas Gracias duilioisola

Pero quisiera saber si se puede regresar el color en forma desendente al precionar el boton flecha arriba (VK_UP)
Ejemplo los colores de los Labels quedan asi:

Label1//Color Amarillo
Label2 //Color Amarillo
Label3 // Color Verde

Presiono boton flecha arriba

Label1//Color Amarillo
Label2 //Color Verde
Label3 // Color Amarillo

Presiono otra ves flecha arriba
Label1//Color Verde
Label2 // Color Amarillo
Label3 // Color Amarillo

Y por cada cambio de color verde en el label, me salga un mensaje Ejemplo: Label2 Color verde, tecla arriba: Color Label1 verde

Y regrese como estaba

Última edición por Milworm99 fecha: 17-11-2017 a las 15:38:36.
Responder Con Cita
  #2  
Antiguo 17-11-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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
  #3  
Antiguo 17-11-2017
Milworm99 Milworm99 is offline
Miembro
NULL
 
Registrado: nov 2017
Posts: 31
Poder: 0
Milworm99 Va por buen camino
Muchas Gracias, me sirvió

Última edición por Casimiro Notevi fecha: 17-11-2017 a las 21:24:27.
Responder Con Cita
  #4  
Antiguo 18-11-2017
Milworm99 Milworm99 is offline
Miembro
NULL
 
Registrado: nov 2017
Posts: 31
Poder: 0
Milworm99 Va por buen camino
Exclamation

Bueno gracias a todos, pero lo que quería era algo así, perdón por no especificar bien con lo que deseaba hacer, yo ya lo hise todo, pero quisiera que me ayuden a resumir el código por favor para que no quede tan largo.

Cambio de colores de los Labels con las Teclas Arriba,Abajo, Derecha y Izquierda.


Archivos Adjuntos
Tipo de Archivo: rar Secuencia de Colores.rar (167,5 KB, 4 visitas)

Última edición por Milworm99 fecha: 18-11-2017 a las 01:04:11.
Responder Con Cita
Respuesta



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 11:11:34.


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