Hola de nuevo.
Me quedé pensando que si deseas que la selección del item se realize dentro de la misma clase, podes prescindir del evento
_vScroll, por lo que podría quedar así:
Código PHP:
class TMyListBox : public TListBox
{
private:
TWndMethod _oldWndProc;
protected:
virtual void __fastcall WndProc(TMessage &msg);
public:
__fastcall TMyListBox(TComponent *Owner);
__fastcall ~TMyListBox();
};
//...
__fastcall TMyListBox::TMyListBox(TComponent *Owner) : TListBox(Owner)
{
_oldWndProc = WindowProc;
}
void __fastcall TMyListBox:: WndProc(TMessage &msg)
{
if( msg.Msg == WM_VSCROLL )
Selected[GetScrollPos(Handle, SB_VERT)]= true; // seleccionar
TListBox::WndProc(msg);
}
__fastcall TMyListBox::~TMyListBox()
{
WindowProc = _oldWndProc;
}
Saludos