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 Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 26-09-2014
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.211
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Estaba preparando un ejemplo, pero veo que ya resolviste el problema. Aún así lo dejo.

Fíjate en este código basado en el tuyo. Es un componente visual que debes instalar:
Menu->Component->Intall Component

Código:
//---------------------------------------------------------------------------

#ifndef NewScrollBoxH
#define NewScrollBoxH
//---------------------------------------------------------------------------
#include <SysUtils.hpp>
#include <Classes.hpp>
#include <Controls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class PACKAGE TNewScrollBox : public TScrollBox
{
   public:
        __fastcall TNewScrollBox(TComponent* Owner);

   private:
        TNotifyEvent FOnVerticalScroll;
        TNotifyEvent FOnHorizontalScroll;

   private:
        void __fastcall WMHScroll(TMessage& Msg);
        void __fastcall WMVScroll(TMessage& Msg);

   __published:
        __property TNotifyEvent OnVerticalScroll =
        {read=FOnVerticalScroll,
        write=FOnVerticalScroll};
        __property TNotifyEvent OnHorizontalScroll =
        {read=FOnHorizontalScroll,
        write=FOnHorizontalScroll};

   public:
        BEGIN_MESSAGE_MAP
        MESSAGE_HANDLER(WM_HSCROLL, TMessage, WMHScroll)
        MESSAGE_HANDLER(WM_VSCROLL, TMessage, WMVScroll)
        END_MESSAGE_MAP(TScrollBox)
};
//---------------------------------------------------------------------------
#endif
Código:
//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "NewScrollBox.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(TNewScrollBox *)
{
        new TNewScrollBox(NULL);
}

//---------------------------------------------------------------------------
__fastcall TNewScrollBox::TNewScrollBox(TComponent* Owner)
        : TScrollBox(Owner)
{
}
void __fastcall TNewScrollBox::WMHScroll(TMessage& Msg)
{
        if (FOnHorizontalScroll != NULL)
        {
                FOnHorizontalScroll(this);
        }
        TScrollBox::Dispatch(&Msg);
}

void __fastcall TNewScrollBox::WMVScroll(TMessage& Msg)
{
        if (FOnVerticalScroll != NULL)
        {
                FOnVerticalScroll(this);
        }
        TScrollBox::Dispatch(&Msg);
}
//---------------------------------------------------------------------------
namespace Newscrollbox
{
        void __fastcall PACKAGE Register()
        {
                 TComponentClass classes[1] = {__classid(TNewScrollBox)};
                 RegisterComponents("Samples", classes, 0);
        }
}
//---------------------------------------------------------------------------
Te subo el proyecto del nuevo componente.


Saludos.

Última edición por escafandra fecha: 03-10-2014 a las 11:55:41.
Responder Con Cita
 



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
¿Existe algún error en FireMonkey en el evento OnClosePopup de un ComboBox? RedVenom FireMonkey 0 10-02-2014 18:56:43
Frames. ¿Existe un evento similar a onActivate? adebonis Varios 19 21-11-2008 13:26:50
Comprobar en evento OnExit si valor de campo ya existe JMGR Conexión con bases de datos 9 18-05-2008 03:42:31
Llamar evento desde otro evento nachito_tuc OOP 1 23-08-2006 21:37:43
Existe ? Descendents Varios 1 20-10-2003 18:04:25


La franja horaria es GMT +2. Ahora son las 23:57:46.


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