Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-06-2005
Tecnic2 Tecnic2 is offline
Miembro
 
Registrado: may 2004
Posts: 155
Poder: 21
Tecnic2 Va por buen camino
Question Me contesto a mi mismo

Ya he descubierto como añadir columnas, lo que se me resiste y no llego a averiguar es cómo aplicarle un estilo de fuente, es decir, quiero que la propiedad Font del LlistView que creo en tiempo de ejecución tenga la letra Verdana y tamaño 8.

Gracias por adelantado.
Responder Con Cita
  #2  
Antiguo 09-06-2005
Tecnic2 Tecnic2 is offline
Miembro
 
Registrado: may 2004
Posts: 155
Poder: 21
Tecnic2 Va por buen camino
Unhappy Añado mas....

Una cosa en la que no habia pensado....

Si creo los ListViews en tiempo de ejecución, cómo lo hago para introducir código en sus eventos?
Al no estar creados en el diseño no puedo programarlo !!!

Responder Con Cita
  #3  
Antiguo 09-06-2005
pijo pijo is offline
Miembro
 
Registrado: sep 2003
Ubicación: Barcelona, casi
Posts: 56
Poder: 21
pijo Va por buen camino
hola
a ver vamos por partes
para lo de la fuente, con el mismo código que has puesto pero modificando la propiedad FONT del listview que has creado:

procedure TForm1.Button1Click(Sender: TObject);
var
TS: TTabSheet;
TV: TListView;

begin
TS := TTabSheet.Create(Self);
TS.Caption := 'TabSheet' + IntToStr(PageControl1.PageCount + 1);
TS.PageControl := PageControl1;
TV := TListView.Create(Self);
TV.Parent := TS;
TV.Align := alClient;
TV.Font.Name := 'Verdana';
Tv.Font.Size := 8;
end;

En relacion a lo de meter código en los eventos:
Tienes que tener previamente creados los procedures para poderlos asignar en tiempo de ejecución a los eventos del nuevo TlistView, por ejemplo:

procedure TForm1.HacerClick(sender : TObject);
begin
// Lo que se tenga que hacer cuando hacen click
showmessage('Click');
end;

procedure TForm1.Button1Click(Sender: TObject);
var
TS: TTabSheet;
TV: TListView;
begin
TS := TTabSheet.Create(Self);
TS.Caption := 'TabSheet' + IntToStr(PageControl1.PageCount + 1);
TS.PageControl := PageControl1;
TV := TListView.Create(Self);
TV.Parent := TS;
TV.Align := alClient;
TV.Font.Name := 'Verdana';
Tv.Font.Size := 8;
Tv.onclick := HacerClick;

end;
__________________
Ánimos.
Responder Con Cita
  #4  
Antiguo 10-06-2005
Tecnic2 Tecnic2 is offline
Miembro
 
Registrado: may 2004
Posts: 155
Poder: 21
Tecnic2 Va por buen camino
Thumbs up Ya funciona ;-)

Muchas gracias, era exactamente eso, no sé qué haria sin vosotros.....


GRACIAS.
Responder Con Cita
  #5  
Antiguo 10-06-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
por favor, encerrad el código entre

[ delphi ]
aqui vuestro codigo
[ /delphi ]

(sin espacios entre corchetes) Así consigues que respete el identado y aparezca las palabras reservadas en negrita y colores.

Un saludo
Código Delphi [-]
procedure Saludos();
begin 
   ShowMessage(' Un saludo y hasta luego');
end;
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #6  
Antiguo 14-06-2005
Tecnic2 Tecnic2 is offline
Miembro
 
Registrado: may 2004
Posts: 155
Poder: 21
Tecnic2 Va por buen camino
Question Una cosa más...

Por cierto, la función asignada al evento OnClick del ListView creado en tiempo de ejecución puede contener parámetros?

Garcias por adelantado.
Responder Con Cita
  #7  
Antiguo 15-06-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
El evento OnClick no. pero dentro del evento Onclick, puedes hacer algo genérico y lanzar otro evento, aquí si puedes usar los parámetros que quieras.

Cuando se hace clic en el listview, entra en el HacerClick, en ese evento, miro si hay algun item seleccionado, y lanzo un evento nuevo el Onclick2 que lleva los parámetros que yo quiero, y el programa irá al procedimiento Recibir.

Como no explicas exactamente lo que deseas hacer, yo he pasado 2 parámetros, la propiedad TExt del item seleccionado y el texto de la segunda columna del item seleccionado.

Código Delphi [-]
// Creamos un nuevo evento
type TOnclick2 = procedure (textoItem:string; SubString:string) of object; 

TForm1 = Class(Tform);
...
private Fonclic2:Tonclick2;

public
  OnClick2 : Tonclick2 read Fonclick2 write Fonclick2;

end;
implementation

procedure TForm1.Recibir(texto:string; SubString:string);
begin
  // aqui se llega cuando se haga clic en el listview,
// con los parametros que tu necesitas
end;

procedure TForm1.HacerClick(sender : TObject);
var Texto, subtexto:string;
begin
 if Listview.Selected<>Nil then
 begin
    texto := listview.selected.text;
    subtexto := listview.Selected.String[1];

// con esto lanzamos el evento personalizado
    if Assigned(FOnclick2) then
      FOnclick2(texto, subtexto); 
 end;
end;


procedure TForm1.Button1Click(Sender: TObject);
var
TS: TTabSheet;
TV: TListView;
begin
TS := TTabSheet.Create(Self);
TS.Caption := 'TabSheet' + IntToStr(PageControl1.PageCount + 1);
TS.PageControl := PageControl1;
TV := TListView.Create(Self);
TV.Parent := TS;
TV.Align := alClient;
TV.Font.Name := 'Verdana';
Tv.Font.Size := 8;
Tv.onclick := HacerClick;
TV.Oclick2:= recibir;


Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 15-06-2005 a las 12:24:44.
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


La franja horaria es GMT +2. Ahora son las 14:00:50.


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