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
  #7  
Antiguo 18-12-2017
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 14
aguml Va por buen camino
Amigo estoy intentando crear un componente con el ultimo codigo ya que creo que lo voy a usar mucho de aqui en adelante pero me encuentro con problemas. Tengo esto:
Código PHP:
//---------------------------------------------------------------------------

#ifndef ListBoxAutoSelectH
#define ListBoxAutoSelectH
//---------------------------------------------------------------------------
#include <SysUtils.hpp>
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
//---------------------------------------------------------------------------
class PACKAGE TListBoxAutoSelect : 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->Handle, SB_VERT);
            
_vScroll(this);
        }
        
TListBox::WndProc(msg);
    }
public:
    
__property TNotifyEvent OnVerticalScroll = {read = _vScroll, write = _vScroll};
    
__property int CurrentIndex = {read = _index};
    
__fastcall TListBoxAutoSelect(TComponent* Owner);
    
__fastcall ~TListBoxAutoSelect();

__published:
};
//---------------------------------------------------------------------------
#endif 
Código PHP:
//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "ListBoxAutoSelect.h"
#pragma package(smart_init)
//---------------------------------------------------------------------------
// ValidCtrCheck is used to assure that the components created do not have
// any pure virtual functions.
//

static inline void ValidCtrCheck(TListBoxAutoSelect *)
{
    new 
TListBoxAutoSelect(NULL);
}
//---------------------------------------------------------------------------

__fastcall TListBoxAutoSelect::TListBoxAutoSelect(TComponent* Owner)
    : 
TListBox(Owner)
{
    
_oldWndProc = this->WindowProc;
}
//---------------------------------------------------------------------------

__fastcall TListBoxAutoSelect::~TListBoxAutoSelect() {
    
this->WindowProc = _oldWndProc;
}
//---------------------------------------------------------------------------

namespace Listboxautoselect
{
    
void __fastcall PACKAGE Register()
    {
         
TComponentClass classes[1] = {__classid(TListBoxAutoSelect)};
         
RegisterComponents("Mis Componentes", classes, 0);
    }
}
//--------------------------------------------------------------------------- 
El componente se crea correctamente y todo pero al usarlo veo que no hace nada. Si miro tu último codigo veo esto:
Código PHP:
lb1->OnVerticalScroll = ListBoxVScroll; 
Esa funcion no aparece por ningun sitio en tu codigo último por lo que pienso que puede ser por eso pero se me plantean algunas dudas mas:
1-¿Puedo asignar unas dimensiones por defecto al componente para que se cree de manera que solo muestre el item seleccionado?
2-¿Puedo asignar el estilo con el que se creará?
Pues esos tres problemillas son los que me encuentro por ahora.
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:17:19.


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