Página 1 de 1

TImage:nZoom

Publicado: Mié Oct 12, 2011 8:42 am
por franksoft
Hello everyone,
I would like to change the parameter TImage:nZoom using the mouse wheel, someone can give me some suggestions?
Thanks
FRANCO

TImage:nZoom

Publicado: Mié Oct 12, 2011 2:39 pm
por jlalin
Franco,
I have not tested it but it should show you the way:
CLASS TImage FROM XImage
PUBLIC:
METHOD WMMouseWheel( nWParam, nLParam )
ENDCLASS
METHOD WMMouseWheel( nWParam, nLParam ) CLASS TImage
LOCAL nDelta := HiWord( nWParam )
LOCAL nSteps := nDelta / 120
::nZoom := nSteps
RETURN 0
Regards,
José Lalí­n

TImage:nZoom

Publicado: Mié Oct 12, 2011 6:46 pm
por franksoft
Thanks for the suggestion,
with a small change nZoom parameter changes only if they are inside the image.
CLASS TImage FROM XImage
PUBLIC:
DATA lDentro INIT .F.
METHOD WMMouseWheel( nWParam, nLParam )
RESERVED:
METHOD WMMouseMove( nWParam, nLParam )
METHOD WMMouseLeave( nWParam, nLParam )
ENDCLASS
METHOD WMMouseWheel( nWParam, nLParam ) CLASS TImage
LOCAL nDelta := HiWord( nWParam )
LOCAL nSteps := nDelta / 120
IF ::lDentro
::nZoom += nSteps
ENDIF
RETURN 0
METHOD WMMouseMove( nWParam, nLParam ) CLASS TImage
::lDentro:=.T.
trackmouseevent( ::Handle, TME_LEAVE )
RETURN Nil
METHOD WMMouseLeave( nWParam, nLParam )
::lDentro:=.F.
RETURN Nil
Thanks again
Regards,
FRANCO