Derivar de una Clase... TBrowse.
Publicado: Vie Jul 01, 2005 6:01 pm
Hola,
No se que estoy haciendo mal, pero no me sale el derivar un método de la clase TBrowse
Esta es la clase que derivo, y si bien me funcionan las propiedades, al querer tener un mismo método en la clase, eso no me funciona bien...
Pretendo que cuando se pulse el botón derecho, se cambie de registro el Browse...
CLASS TBrowse FROM xBrowse
PUBLISHED:
PROPERTY lAllowColSizing INIT .F. //NO Canvi de Tamany Columnes
PROPERTY lRecordSelector INIT .F. //Sel.lecció de tota la línia
PROPERTY nColDividerStyle INIT blLIGHTGRAY
PROPERTY nRowDividerStyle INIT blLIGHTGRAY
PUBLIC:
METHOD OnRClick( oSender, nFlags, nRow, nCol )
END CLASS
//---------------------------------------------------------- --------------
METHOD OnRClick( oSender, nFlags, nRow, nCol ) CLASS TBrowse
LOCAL nPos
IF ( nPos := ::MouseRowPos( nRow ) ) != ::nRowSel
::nKeyNo += ::OnSkip( nPos - ::nRowSel )
::nRowSel := nPos
::Refresh()
::OnChange()
ENDIF
RETURN Nil
Creo que no entiendo bien el tema de méthodos de una Clase derivada...
En cambio... cuando lo que hago es según lo que me apuntaste en otro post, desde un Form...
//---------------------------------------------------------- --------------------
METHOD FormShow( oSender ) CLASS TForm1
::oArrayBrowse1:OnRClick := "xDBBrowse1RClick"
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD xDBBrowse1RClick( oSender, nFlags, nRow, nCol ) CLASS TForm1
LOCAL nPos
WITH OBJECT ::oArrayBrowse1
IF ( nPos := :MouseRowPos( nRow ) ) != :nRowSel
:nKeyNo += :OnSkip( nPos - :nRowSel )
:nRowSel := nPos
:Refresh()
:OnChange()
ENDIF
END
RETURN Nil
Esto si funciona correctamente !!!
Gracias.
Un Saludo,
Xevi.
--
No se que estoy haciendo mal, pero no me sale el derivar un método de la clase TBrowse
Esta es la clase que derivo, y si bien me funcionan las propiedades, al querer tener un mismo método en la clase, eso no me funciona bien...
Pretendo que cuando se pulse el botón derecho, se cambie de registro el Browse...
CLASS TBrowse FROM xBrowse
PUBLISHED:
PROPERTY lAllowColSizing INIT .F. //NO Canvi de Tamany Columnes
PROPERTY lRecordSelector INIT .F. //Sel.lecció de tota la línia
PROPERTY nColDividerStyle INIT blLIGHTGRAY
PROPERTY nRowDividerStyle INIT blLIGHTGRAY
PUBLIC:
METHOD OnRClick( oSender, nFlags, nRow, nCol )
END CLASS
//---------------------------------------------------------- --------------
METHOD OnRClick( oSender, nFlags, nRow, nCol ) CLASS TBrowse
LOCAL nPos
IF ( nPos := ::MouseRowPos( nRow ) ) != ::nRowSel
::nKeyNo += ::OnSkip( nPos - ::nRowSel )
::nRowSel := nPos
::Refresh()
::OnChange()
ENDIF
RETURN Nil
Creo que no entiendo bien el tema de méthodos de una Clase derivada...
En cambio... cuando lo que hago es según lo que me apuntaste en otro post, desde un Form...
//---------------------------------------------------------- --------------------
METHOD FormShow( oSender ) CLASS TForm1
::oArrayBrowse1:OnRClick := "xDBBrowse1RClick"
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD xDBBrowse1RClick( oSender, nFlags, nRow, nCol ) CLASS TForm1
LOCAL nPos
WITH OBJECT ::oArrayBrowse1
IF ( nPos := :MouseRowPos( nRow ) ) != :nRowSel
:nKeyNo += :OnSkip( nPos - :nRowSel )
:nRowSel := nPos
:Refresh()
:OnChange()
ENDIF
END
RETURN Nil
Esto si funciona correctamente !!!
Gracias.
Un Saludo,
Xevi.
--