Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #5  
Antiguo 15-12-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.
Cita:
Empezado por aguml Ver Mensaje
Tengo un problema con tu codigo, tengo 18 listboxs que requieren hacer eso y no veo una solucion buena crear 18 funciones, una para cada, y no se me ocurre como hacer que todas tengan la misma funcion y funcione solo con el listbox que la use en ese momento.
Así es, pero lamentablemente omitiste ese "pequeño" detalle en tu primer mensaje...

Otra opción:

.h
Código PHP:
class TMyListBox : public TListBox
{
private:
  
int _index;
  
TWndMethod _oldWndProc;
  
TNotifyEvent _vScroll;

protected:
  
virtual void __fastcall WndProc(TMessage &msg) {
    if (
msg.Msg == WM_VSCROLL && _vScroll) {
     
_index GetScrollPos(this->HandleSB_VERT);
     
_vScroll(this);
    }
    
TListBox::WndProc(msg);
  }

public:
  
__fastcall TMyListBox(TComponent *Owner) : TListBox(Owner) {
    
_oldWndProc this->WindowProc;
    }
  
__property TNotifyEvent OnVerticalScroll = {read _vScrollwrite _vScroll};
  
__property int CurrentIndex = {read _index};
  
__fastcall ~TMyListBox() {
    
this->WindowProc _oldWndProc;
  }
}; 
.cpp
Código PHP:
...
TMyListBox *lb1// *lb2,...,*lb18

void __fastcall TForm1::FormCreate(TObject *Sender)
{
  
lb1 = new TMyListBox(this);
  
lb1->Parent this;
  
lb1->Items->CommaText "cero,uno,dos,tres,cuatro,cinco,seis,siete,ocho,nueve";
  
lb1->Height 22;
  
lb1->Left   100;
  
lb1->Top    50;
  
lb1->Font->Size 9;
  
lb1->OnVerticalScroll ListBoxVScroll;
}

void __fastcall TForm1::FormDestroy(TObject *Sender)
{
   
delete lb1;

Dado el grado de reusabilidad que puedas darle en lo futuro, podrías convertirlo en componente para así realizar las inicializaciones en tiempo de diseño.

Salida:


Saludos
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 15-12-2017 a las 20:19:26. Razón: Agregar comentario
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
Seleccion de item en combobox da error list index out of bonds jafera OOP 18 09-05-2013 10:21:54
Pregunta Combobox, selección del item sin hacer click NPIdea OOP 2 15-01-2010 07:42:14
ListBox - Scroll Kreyser Varios 2 08-06-2005 13:27:24
Scroll en un listbox kakesoft OOP 0 06-04-2005 02:40:25
Selección automática item combobox neon OOP 0 24-02-2005 13:59:22


La franja horaria es GMT +2. Ahora son las 10:29:48.


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