Page 1 of 2
Teclas funcion avanze y retroceso de página
Posted: Tue Jun 11, 2013 10:47 pm
by rmtarget
Hola Amigos:
Tengo una pantalla de captura con muchos datos y la elabore con VIRTUALWIDTH,VIRTUALHEIGHT,WINDOWTYPE PANEL y me puedo desplazar de arriba hacia abajo moviendo con el mouse la barra vertical derecha, pero quiero saber si puedo usar las teclas de Av.Pág y Re. Pág del teclado a efectos de mover la pantalla de igual forma, de arriba hacia abajo.
Gracias de antemano y cordiales saludos desde mexico city
[u]Moderator Notes[/u] (Pablo César) wrote:Topic moved from Board index\HMG News and Help\HMG General Help due topic is being in Spanish.
Teclas funcion avanze y retroceso de página
Posted: Wed Jun 12, 2013 12:48 am
by Pablo César
Creiria que no seria imposible, pero haberia que colocar um timer al iniciar para que esté leyendo el buffer del teclado a cada tanto. En mi opinion, me parece un trabajo de redundância totalmente desnecesário, visto que no segue el critério de padronizacion de sistemas en Windows. Acostumbrar a los usuários a trabajar como si fuera sistemas como a la Clipper te trairia muchos inconvernientes en el futuro, ya que no funciona de la misma forma el desenvolvimiento en GUI.
Re: Teclas funcion avanze y retroceso de página
Posted: Wed Jun 12, 2013 3:37 am
by srvet_claudio
rmtarget wrote:Hola Amigos:
Tengo una pantalla de captura con muchos datos y la elabore con VIRTUALWIDTH,VIRTUALHEIGHT,WINDOWTYPE PANEL y me puedo desplazar de arriba hacia abajo moviendo con el mouse la barra vertical derecha, pero quiero saber si puedo usar las teclas de Av.Pág y Re. Pág del teclado a efectos de mover la pantalla de igual forma, de arriba hacia abajo.
Gracias de antemano y cordiales saludos desde mexico city
Hi Rmtarget
See this demo.
Regards,
Claudio.
Code: Select all
#include "hmg.ch"
Function Main
SET SCROLLSTEP TO 10
DEFINE WINDOW Win_1 ;
ROW 0 ;
COL 0 ;
WIDTH 400 ;
HEIGHT 400 ;
TITLE 'HMG Panel Window Demo' ;
WINDOWTYPE MAIN
#define WM_VSCROLL 277
#define SB_PAGEUP 2
#define SB_PAGEDOWN 3
ON KEY PRIOR OF Win_1 ACTION SendMessage ( GetFormHandle("Win_2") , WM_VSCROLL , SB_PAGEUP , 0 )
ON KEY NEXT OF Win_1 ACTION SendMessage ( GetFormHandle("Win_2") , WM_VSCROLL , SB_PAGEDOWN , 0 )
DEFINE WINDOW Win_2 ;
ROW 30 ;
COL 30 ;
WIDTH 300 ;
HEIGHT 200 ;
VIRTUALWIDTH 400 ;
VIRTUALHEIGHT 400 ;
WINDOWTYPE PANEL
DEFINE LABEL LABEL_1
ROW 10
COL 10
VALUE 'Panel windows...'
WIDTH 300
END LABEL
DEFINE BUTTON BUTTON_1
ROW 40
COL 10
CAPTION 'Click Me!'
ACTION MsgInfo('Clicked!')
END BUTTON
DEFINE LABEL LABEL_2
ROW 90
COL 10
VALUE "Can do this!"
WIDTH 300
END LABEL
DEFINE TEXTBOX TEXT_1
ROW 120
COL 10
VALUE 'Test'
END TEXTBOX
DEFINE TEXTBOX TEXT_2
ROW 150
COL 10
VALUE 'Test'
END TEXTBOX
DEFINE TEXTBOX TEXT_3
ROW 180
COL 10
VALUE 'Test'
END TEXTBOX
DEFINE TEXTBOX TEXT_4
ROW 210
COL 10
VALUE 'Test'
END TEXTBOX
DEFINE TEXTBOX TEXT_5
ROW 240
COL 10
VALUE 'Test'
END TEXTBOX
END WINDOW
DEFINE BUTTON BUTTON_1
ROW 300
COL 10
WIDTH 200
CAPTION 'Click Me!'
ACTION MsgInfo('Clicked!')
END BUTTON
END WINDOW
Win_1.Center
Activate Window Win_1
Return
Teclas funcion avanze y retroceso de página
Posted: Wed Jun 12, 2013 12:09 pm
by Pablo César
Code: Select all
#define WM_VSCROLL 277
#define SB_PAGEUP 2
#define SB_PAGEDOWN 3
ON KEY PRIOR OF Win_1 ACTION SendMessage ( GetFormHandle("Win_2") , WM_VSCROLL , SB_PAGEUP , 0 )
ON KEY NEXT OF Win_1 ACTION SendMessage ( GetFormHandle("Win_2") , WM_VSCROLL , SB_PAGEDOWN , 0 )
Wow, Dr. Soto ! Perfecto ! Quien sabe, sabe !
Re: Teclas funcion avanze y retroceso de página
Posted: Thu Jun 13, 2013 12:33 am
by rmtarget
Muchisimas gracias por su valiosa ayuda !!! un abrazo.
Re: Teclas funcion avanze y retroceso de página
Posted: Thu Jun 13, 2013 4:33 pm
by andyglezl
Hola Dr. Soto, gracias por sus aportaciones !
Probé lo del avance y retroceso de páginas.
Creía que poniendo: SET SCROLLSTEP TO 100
habría una diferencia en cuanto al avance, pero avanza lo mismo
que con 10 ?
Así funciona ?
---------------------------------------------------------------
Hello Dr. Soto, thank you for your contributions!
I tried it the advance and retreat of pages.
I thought putting: SCROLLSTEP SET TO 100
would be a difference in advancing, but advancing the same
that at 10?
How it works?
Re: Teclas funcion avanze y retroceso de página
Posted: Thu Jun 13, 2013 11:11 pm
by srvet_claudio
andyglezl wrote:
I thought putting: SCROLLSTEP SET TO 100
would be a difference in advancing, but advancing the same
that at 10?
How it works?
Yes,
SET SCROLLSTEP TO only works with the messages: SB_LINEUP, SB_LINEDOWN, SB_LINERIGHT and SB_LINELEFT.
It can simulate with the keyboard as:
Code: Select all
#include "hmg.ch"
Function Main
SET SCROLLSTEP TO 10
DEFINE WINDOW Win_1 ;
ROW 0 ;
COL 0 ;
WIDTH 400 ;
HEIGHT 400 ;
TITLE 'HMG Panel Window Demo' ;
WINDOWTYPE MAIN
#define WM_VSCROLL 277
#define SB_VERT 1
#define SB_PAGEUP 2
#define SB_PAGEDOWN 3
// ON KEY PRIOR OF Win_1 ACTION SendMessage ( GetFormHandle("Win_2") , WM_VSCROLL , SB_PAGEUP , 0 )
// ON KEY NEXT OF Win_1 ACTION SendMessage ( GetFormHandle("Win_2") , WM_VSCROLL , SB_PAGEDOWN , 0 )
DEFINE WINDOW Win_2 ;
ROW 30 ;
COL 30 ;
WIDTH 300 ;
HEIGHT 200 ;
VIRTUALWIDTH 400 ;
VIRTUALHEIGHT 400 ;
WINDOWTYPE PANEL
DEFINE LABEL LABEL_1
ROW 10
COL 10
VALUE 'Panel windows...'
WIDTH 300
END LABEL
DEFINE BUTTON BUTTON_1
ROW 40
COL 10
CAPTION 'Click Me!'
ACTION MsgInfo('Clicked!')
END BUTTON
DEFINE LABEL LABEL_2
ROW 90
COL 10
VALUE "Can do this!"
WIDTH 300
END LABEL
DEFINE TEXTBOX TEXT_1
ROW 120
COL 10
VALUE 'Test'
END TEXTBOX
DEFINE TEXTBOX TEXT_2
ROW 150
COL 10
VALUE 'Test'
END TEXTBOX
DEFINE TEXTBOX TEXT_3
ROW 180
COL 10
VALUE 'Test'
END TEXTBOX
DEFINE TEXTBOX TEXT_4
ROW 210
COL 10
VALUE 'Test'
END TEXTBOX
DEFINE TEXTBOX TEXT_5
ROW 240
COL 10
VALUE 'Test'
END TEXTBOX
END WINDOW
DEFINE BUTTON BUTTON_1
ROW 300
COL 10
WIDTH 200
CAPTION 'Click Me!'
ACTION MsgInfo('Clicked!')
END BUTTON
END WINDOW
NewStep := 100
NewStep := IF (NewStep < 20, 20, NewStep)
hWnd := GetFormHandle("Win_2")
ON KEY PRIOR OF Win_1 ACTION {|| SetScrollPos (hWnd, SB_VERT, GetScrollPos(hWnd, SB_VERT) - NewStep -20, .T.), SendMessage (hWnd, WM_VSCROLL , SB_PAGEUP, 0 )}
ON KEY NEXT OF Win_1 ACTION {|| SetScrollPos (hWnd, SB_VERT, GetScrollPos(hWnd, SB_VERT) + NewStep -20, .T.), SendMessage (hWnd, WM_VSCROLL , SB_PAGEDOWN , 0 )}
Win_1.Center
Activate Window Win_1
Return
Re: Teclas funcion avanze y retroceso de página
Posted: Thu Jun 13, 2013 11:18 pm
by srvet_claudio
In the future I will add: SET SCROLLPAGE TO
Re: Teclas funcion avanze y retroceso de página
Posted: Fri Jun 14, 2013 12:27 am
by Leopoldo Blancas
Como dijo Dany...
Wow, Dr. Soto ! Perfecto ! Quien sabe, sabe !
Saludos
Polo
Re: Teclas funcion avanze y retroceso de página
Posted: Fri Jun 14, 2013 12:28 am
by andyglezl
Muy cierto !