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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-03-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Elfoscuro
[Warning] ZXListBox.pas(17): Method 'DrawItem' hides virtual method of base type 'TCustomListBox'
Al igual que con el constructor debes agregar la directiva override a la declaración del método.

// Saludos
Responder Con Cita
  #2  
Antiguo 25-03-2005
Elfoscuro Elfoscuro is offline
Miembro
 
Registrado: mar 2005
Posts: 59
Poder: 22
Elfoscuro Va por buen camino
Muchas gracias. Ya lo había hecho antes, pero es que me petaba diciendome que la declaración no coincidía con la anterior. Con 'la anterior' se refería a la declaración original del componente. Después de investigar un poco he visto que la declaración tenía una variable Control que sobraba. Una vez la he quitado, he overrideado la procedure y le he eliminado el 'with (Control as TListbox)' del principio ya funciona 100%.

Salludos del elfo.
Responder Con Cita
  #3  
Antiguo 26-03-2005
cuburu cuburu is offline
Miembro
 
Registrado: mar 2005
Posts: 63
Poder: 22
cuburu Va por buen camino
Question no entiendo que es lo que quieres

si tu problema es que quieres que cada fila te aparezca de un color diferente el texto lo que necesitas es colocar la propiedad Style a lbOwnerDrawFixed y en el evento OnDrawItem poner este codigo

with (Control as TListBox) do
begin
if Odd(Index) then
Canvas.Font.Color := clBlue
else
Canvas.Font.Color := clGreen;

Canvas.Rectangle(Rect);
Canvas.TextOut(Rect.Left, Rect.Top, Items[Index]);
end;
Responder Con Cita
  #4  
Antiguo 26-03-2005
Elfoscuro Elfoscuro is offline
Miembro
 
Registrado: mar 2005
Posts: 59
Poder: 22
Elfoscuro Va por buen camino
Si, básicamente es lo que quiero. Pero como no quiero tener que acordarme del código en el onDrawItem, decidí hacerlo en un componente derivado de un TListBox, pero que ya tuviera el código insertado. Así no me tengo que preocupar más del asunto. En lugar del TBListBox original uso el mio, que ya hace todo el royo.

En principio remodelar el TListBox es para hacerlo más específico. De momento solo lo voy a usar en una aplicación que estoy haciendo, pero en un futuro pretendo usarlo en otras relacionadas.

Gracias por tu código. Si te fijas, el mio es muy similar. El problema es que si hago un override del DrawItem, no puedo usar 'Control', ya que no está en la declaración original de la procedure. Aparece cuando haces doble click sobre "onDrawItem". De todas formas, no importa, ya que al ser un componente, puedo acceder directamente al canvas sin hacer 'with'.

Y por cierto, un error que me da otro componente al leer desde un fichero:

I/O error 6

He buscado en la ayuda y no lo encuentro. He encontrado el 106... ¿es el mismo? El 6 dice que no estoy leyendo bien (por ejemplo leer un word de un file of byte), pero yo creo que si que leo como toca. Tengo que revisar el código pero ¿se os ocurre porque sale este error normalmente?

Gracias

Saludos del elfo
Responder Con Cita
Respuesta


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


La franja horaria es GMT +2. Ahora son las 20:28:30.


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