Ctrl Cambio De Pestañas en un PageFrame

1,341 views
Skip to first unread message

Ivan JARAMILLO GONZALEZ

unread,
Nov 20, 2012, 1:13:07 PM11/20/12
to publice...@googlegroups.com
Buenas Tardes Foro, Necesito Confirmar El Cambio De Pestaña en Un PageFrame Determinado ya que Controlo la Aplicación Con un Sistema de Auditoria  y cada Pestaña es un Modulo Diferente, y Cuando se hace el Cambio se Genera el Control de Auditoria 

Fox Learner

unread,
Nov 20, 2012, 2:29:38 PM11/20/12
to publice...@googlegroups.com
Si es con el teclado.. Ha probado ON KEY LABEL o IF LASTKEY()='Numero ASCII de la tecla'  en el evento Keypress()?

Perdon, talvez el Ctrl que puso se refiere a otra cosa distinta a la tecla Control...

Saludos!


Fox Learner

unread,
Nov 20, 2012, 2:41:36 PM11/20/12
to publice...@googlegroups.com
Por lo que observo no hay muchas funciones con teclado en los pages individuales del pageframe.

No veo eventos o metodos como when, lostfocus, valid, keypress, etc.

Tal vez puedas lograrlo con los eventos del mouse: mouseup, mousedown, mouseleave, etc.

Saludos!

Ricardo Pina

unread,
Nov 20, 2012, 4:13:49 PM11/20/12
to Grupo VFP
Hola Ivan
 
No entiendo bien la pregunta y tal vez a muchos le pase lo mismo.
La propiedad Activepage del PageFrame te indica cuál es la página activa,pero no sé si es lo que buscas.
Podrías explicar un poco más tu duda
 
Saludos


--
 
 
 



--
            

                   Ricardo Pina

Desarrollo y Servicios Informáticos

                  Profesionales
               www.dsip.com.ar

 

 


Víctor Hugo Espínola Domínguez

unread,
Nov 20, 2012, 4:59:37 PM11/20/12
to publicesvfoxpro
Hola Iván

En el evento ACTIVATE.

Saludos.
Víctor.



El 20 de noviembre de 2012 14:13, Ivan JARAMILLO GONZALEZ <ijarami...@gmail.com> escribió:
Buenas Tardes Foro, Necesito Confirmar El Cambio De Pestaña en Un PageFrame Determinado ya que Controlo la Aplicación Con un Sistema de Auditoria  y cada Pestaña es un Modulo Diferente, y Cuando se hace el Cambio se Genera el Control de Auditoria 

--
 
 
 

Walter R. Ojeda Valiente

unread,
Nov 20, 2012, 7:50:12 PM11/20/12
to publice...@googlegroups.com
- Agrégale a tu formulario una propiedad llamada nCurrentPage o similar
- Asígnale el valor 1 a esa propiedad
- Cuando el usuario hace click sobre una pestaña verifica si el ActivePage es igual nCurrentPage. Si no son iguales, eso significa que cambió de página
- Asígnale a nCurrentPage el valor que tiene ActivePage

Saludos.

Walter.

"Si puedes razonar con gente religiosa, no son gente religiosa". Dr. House




Date: Tue, 20 Nov 2012 10:13:07 -0800
From: ijarami...@gmail.com
To: publice...@googlegroups.com
Subject: [vfp] Ctrl Cambio De Pestañas en un PageFrame


Buenas Tardes Foro, Necesito Confirmar El Cambio De Pestaña en Un PageFrame Determinado ya que Controlo la Aplicación Con un Sistema de Auditoria  y cada Pestaña es un Modulo Diferente, y Cuando se hace el Cambio se Genera el Control de Auditoria 
--
 
 
 

Walter R. Ojeda Valiente

unread,
Nov 20, 2012, 7:50:24 PM11/20/12
to publice...@googlegroups.com
- Agrégale a tu formulario una propiedad llamada nCurrentPage o similar
- Asígnale el valor 1 a esa propiedad
- Cuando el usuario hace click sobre una pestaña verifica si el ActivePage es igual nCurrentPage. Si no son iguales, eso significa que cambió de página
- Asígnale a nCurrentPage el valor que tiene ActivePage

Saludos.

Walter.

"Si puedes razonar con gente religiosa, no son gente religiosa". Dr. House




Date: Tue, 20 Nov 2012 10:13:07 -0800
From: ijarami...@gmail.com
To: publice...@googlegroups.com
Subject: [vfp] Ctrl Cambio De Pestañas en un PageFrame

Buenas Tardes Foro, Necesito Confirmar El Cambio De Pestaña en Un PageFrame Determinado ya que Controlo la Aplicación Con un Sistema de Auditoria  y cada Pestaña es un Modulo Diferente, y Cuando se hace el Cambio se Genera el Control de Auditoria 
--
 
 
 

Jairo Miranda

unread,
Nov 21, 2012, 8:41:46 AM11/21/12
to publice...@googlegroups.com

Si tienes un pageframe con, por ejemplo dos paginas  creas un botón en la pagina dos y colocas el siguiente código

En el click

Thisform.Pageframes1.Page1.ActivePage = 1 y esto te llevará a la primera pagina

 

Espero sirva

JM

 

De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] En nombre de Ricardo Pina
Enviado el: martes, 20 de noviembre de 2012 4:14
Para: Grupo VFP
Asunto: Re: [vfp] Re: Ctrl Cambio De Pestañas en un PageFrame

 

Hola Ivan

 

No entiendo bien la pregunta y tal vez a muchos le pase lo mismo.

La propiedad Activepage del PageFrame te indica cuál es la página activa,pero no sé si es lo que buscas.

Podrías explicar un poco más tu duda

 

Saludos

 

El 20 de noviembre de 2012 16:41, Fox Learner <thenewin...@gmail.com> escribió:

Por lo que observo no hay muchas funciones con teclado en los pages individuales del pageframe.

 

No veo eventos o metodos como when, lostfocus, valid, keypress, etc.

 

Tal vez puedas lograrlo con los eventos del mouse: mouseup, mousedown, mouseleave, etc.

 

Saludos!

--
 
 
 




--

             Imagen quitada por el remitente.

                   Ricardo Pina

Desarrollo y Servicios Informáticos

                  Profesionales
               www.dsip.com.ar

 

 

 

--
 
 
 

~WRD000.jpg

Cesar VfpImaging

unread,
Nov 21, 2012, 8:48:05 AM11/21/12
to Comunidad de Visual Foxpro en Español
Hola "FoxLearner",

Tome cuidado con tus respuestas, porque puedes confundir la gente al revés de ayudar !
Trabajar con los eventos de "Mouse" para esta situación no es bueno.

Saludos


2012/11/20 Fox Learner <thenewin...@gmail.com>

--
 
 
 

Walter R. Ojeda Valiente

unread,
Nov 21, 2012, 8:59:25 AM11/21/12
to publice...@googlegroups.com
César, ya varios se lo hemos dicho un montón de veces, pero él no aprende: "si no sabes la respuesta, quédate callado"

Nos está ganando por cansancio, se lo hemos dicho muchas veces, no nos hace caso, entonces ¿para qué continuar diciéndolo lo mismo otra vez más?


Saludos.

Walter.

"Si puedes razonar con gente religiosa, no son gente religiosa". Dr. House




Date: Wed, 21 Nov 2012 11:48:05 -0200
Subject: Re: [vfp] Re: Ctrl Cambio De Pestañas en un PageFrame
From: cch...@gmail.com
To: publice...@googlegroups.com
--
 
 
 

Cesar VfpImaging

unread,
Nov 21, 2012, 9:16:21 AM11/21/12
to Comunidad de Visual Foxpro en Español
Entiendo.

FoxLearner, 
Entienda que mi objetivo no es callarte !

Cuando yo iniciaba con VFP, también tenia muchas ganas en ayudar la gente, como tu. Lo que yo hacia fue crear pruebas, para ver si mis ideas funcionaban o no. Y después de estar seguro que funcionaban, las enviaba al foro.
Eso fue una excelente experiencia, porque tuve la oportunidad de aprender muchísimas cosas!

Saludos
Cesar 


2012/11/21 Walter R. Ojeda Valiente <wr...@hotmail.com>
--
 
 
 

Fox Learner

unread,
Nov 21, 2012, 10:11:50 AM11/21/12
to publice...@googlegroups.com
Maestro Cesar,

Intento explicarme.. Lo que el compañero menciona en parte es lo siguiente:

"Necesito Confirmar El Cambio De Pestaña"

"Cuando se hace el Cambio se Genera el Control de Auditoria"

Lo que entiendo es que el desea enviar un mensaje de advertencia que impida el cambio de pestaña sin mas ni mas ya que cuando eso pasa su sistema genera un "control de auditoría".

Cómo hace el usuario el cambio de una pestaña a otra?...

El amigo pone un Ctrl en su título del mensaje, por eso en un principio pensé que intentaba programar algo como un metacomando presionando Ctrl+ Cualquier otra tecla para cambiar de pestaña.

Sin embargo, lo que el usuario hace para cambiar de pestaña es usar el mouse.

Dicho lo anterior, lo lógico es que se haga uso de los eventos del mouse.

Si usar los eventos del mouse no es lo recomendable, no lo sé porque no tengo la experiencia que ustedes tienen, pero según mi punto de vista, si no puede hacer uso de los métodos de teclado, podría hacer uso de los eventos del mouse.

No creo que mi forma de razonar el asunto sea algo que ustedes deban considerar "ofensivo".

Saludos!

Fox Learner

unread,
Nov 21, 2012, 10:26:27 AM11/21/12
to publice...@googlegroups.com
Maestro César,

Aprecio la sugerencia que me hace de "efectuar pruebas" antes de ofrecer una solución.

A veces, (creo que no soy el único), no disponemos de mucho tiempo para ello, pero de todos modos trataré de comentar menos para no convertirme en el "chico odiado" del foro.

Lo que he notado, es que muchos compañeros usan su móvil para recibir los mensajes del foro. Percibo que cuando empieza a haber mucho tráfico de mensajes, muchos "se estresan".

Pienso que debe existir una solución "informática" para eso, pero si no la hay... no me queda otra que evitar comentar.

Saludos!

Cesar VfpImaging

unread,
Nov 21, 2012, 10:39:37 AM11/21/12
to Comunidad de Visual Foxpro en Español
>> ...lo lógico es que se haga uso de los eventos del mouse.

Lo logico es que siempre trabajemos con los objectos, y intentar localizar metodos que resuelvan

>>No creo que mi forma de razonar el asunto sea algo que ustedes deban considerar "ofensivo".

No, nunca ofensivo, pero no es cierto. Lo que la gente esta intentando decirte es que si no estas seguro que puede funcionar, es mejor aguardar un poco, compreendes? Toda participacion es siempre muy bienvenida!

Saludos


2012/11/21 Fox Learner <thenewin...@gmail.com>

--
 
 
 

Ivan JARAMILLO GONZALEZ

unread,
Nov 21, 2012, 10:58:12 AM11/21/12
to publice...@googlegroups.com
Se Trata De Controlar el Cambio de Pagina, Que El Usuario Tenga La Opción de Cancelar un Cambio De Pagina y Así Evitar Cambiar la Pagina y Mantenerse en la Pagina en La Cual Esta trabajando, ya que al Cambiar de Pagina El Sistema Asume Que termino de Procesar Lo Que se este Procesando y Cierra La Transacción De Auditoria Como Tal, Controlando Hora De Salida, Registros Adicionados, Etc.. y lo que quiero evitar es abrir Múltiples transacciones De Auditoria por Proceso, solo por que el Usuario Cambio de Pagina

Cordial Saludo Foro

Ricardo Pina

unread,
Nov 21, 2012, 11:10:47 AM11/21/12
to Grupo VFP
Hola
 
Entonces yo le pondrìa un mensaje de Adverencia en el activate de cada pàgina, pidiendole que confirme/anule su acción antes de proceder con las transacciones de Auditoria.
 
Saludos


--
 
 
 



--
            

Walter R. Ojeda Valiente

unread,
Nov 21, 2012, 11:17:45 AM11/21/12
to publice...@googlegroups.com
¿Y por qué escribes casi todas las iniciales de las palabras en mayúsculas?

Eso se parece demasiado al estilo de escritura de los tránsfugas que quieren convencerte para que les entregues tu dinero, al estilo de:
- Gran Oferta Imperdible Que Tú No Debes Rechazar
- Agranda Tu Pene Para Hacer Feliz a Tu Mujer
- Gana Dinero Mientras Duermes
- Sistema Infalible Para Perder Hasta 30 Kilogramos de Peso en 20 Días

Cuando yo veo que alguien escribe así enseguida pienso: "Seguro que este fulano terminará pidiéndome dinero y seguro que me quiere estafar".


Saludos.

Walter.

"Si puedes razonar con gente religiosa, no son gente religiosa". Dr. House




Date: Wed, 21 Nov 2012 07:58:12 -0800
From: ijarami...@gmail.com
To: publice...@googlegroups.com
Subject: [vfp] Re: Ctrl Cambio De Pestañas en un PageFrame
--
 
 
 

Walter R. Ojeda Valiente

unread,
Nov 21, 2012, 11:21:25 AM11/21/12
to publice...@googlegroups.com
Es una buena idea.


Saludos.

Walter.

"Si puedes razonar con gente religiosa, no son gente religiosa". Dr. House




From: ric...@gmail.com
Date: Wed, 21 Nov 2012 13:10:47 -0300
Subject: Re: [vfp] Re: Ctrl Cambio De Pestañas en un PageFrame
To: publice...@googlegroups.com
--
 
 
 

Ricardo Pina

unread,
Nov 21, 2012, 11:24:25 AM11/21/12
to Grupo VFP
Compro la sgunda!!!


--
 
 
 

Walter R. Ojeda Valiente

unread,
Nov 21, 2012, 11:42:36 AM11/21/12
to publice...@googlegroups.com
A confesión de parte ...

Ja, ja, ja, ja, ja, ja, ja, ja, ja.


Saludos.

Walter.

"Si puedes razonar con gente religiosa, no son gente religiosa". Dr. House




From: ric...@gmail.com
Date: Wed, 21 Nov 2012 13:24:25 -0300
Subject: Re: [vfp] Re: Ctrl Cambio De Pestañas en un PageFrame
To: publice...@googlegroups.com
--
 
 
 

Antonio.xt

unread,
Nov 21, 2012, 11:43:39 AM11/21/12
to publice...@googlegroups.com

Ah ok, lo que podrias hacer en este caso es iniciar con todas las Pages deshabilitadas, y habilitar solo la primera, y para cambiar a la siguiente Page que sea por medio de un boton para dehabilitar la Page actual y habilitar la siguiente. Asi ya no podra cambiar con el raton. Lo que pasa es que cuando un usuario tiene un control Pageframe por lo general va a querer andar navegando entre las paginas del PageFrame, pero en este caso dices que no debe hacer eso hasta que termine de capturar los datos de la pagina en la que se encuentra. Claro, y no estaria mal un mensaje de advertencia al pasar a la siguiente pagina, algo como ¿esta completos los datos? o ¿seguro que desea pasar a la siguiente pagina?, algo asi, la idea es esa.

Saludos...

Charles A. Moreno

Guillermo MDQ

unread,
Nov 21, 2012, 12:26:21 PM11/21/12
to publice...@googlegroups.com
Y no seria mejor que los datos de auditoria se graben en el procedimiento de grabacion ?, despues de modificar o ingresar los datos en las distintas pages ?
O si o si se deben grabar los datos individuales de cada page al pasar de una a otra ?.

Saludos
Guillermo

smartito

unread,
Nov 21, 2012, 12:33:02 PM11/21/12
to publice...@googlegroups.com
Cuando comienza el proceso "se Genera el control de auditoria" ?

En ese mismo instante, deshabilitas todas las pestañas y cuando termine el proceso habilitas de nuevo las que te interesen ...

Saludos!

Víctor Hugo Espínola Domínguez

unread,
Nov 21, 2012, 1:41:39 PM11/21/12
to publicesvfoxpro
Hola Iván

En el evento ACTIVATE de cada página incluye el siguiente código:

LOCAL lnConfirma As Integer

lnConfirma = MESSAGEBOX( "Está seguro de entrar en: " + This.Caption, 36 )
IF lnConfirma = 7
ThisForm.pgfTuPageFrame.ActivePage = ThisForm.nPagActiva
ENDIF
ThisForm.nPagActiva = ThisForm.pgfTuPageFrame.ActivePage

Pruébalo y lo podrás refinar a tu gusto.

Saludos.
Víctor.



--
 
 
 

Víctor Hugo Espínola Domínguez

unread,
Nov 21, 2012, 2:34:14 PM11/21/12
to publicesvfoxpro
Hola Iván

El código anterior puede simplificarse así:

LOCAL lnConfirma As Integer

lnConfirma = MESSAGEBOX( "Está seguro de entrar en: " + This.Caption, 36 )
IF lnConfirma = 7
This.Parent.ActivePage = ThisForm.nPagActiva
ENDIF
ThisForm.nPagActiva = This.Parent.ActivePage

Saludos.
Víctor.

Ivan JARAMILLO GONZALEZ

unread,
Nov 21, 2012, 6:00:40 PM11/21/12
to publice...@googlegroups.com
Buenas Noches Foro, El Problema Se Presenta Cuando Quiero Cancelar El Cambio De Pagina, No Encuentro Un Set De Instrucciones Que Impidan El Cambio De Pagina, Cuando El Usuario No Desea Cambiarse


El martes, 20 de noviembre de 2012 13:13:07 UTC-5, Ivan JARAMILLO GONZALEZ escribió:

Antonio.xt

unread,
Nov 21, 2012, 6:09:46 PM11/21/12
to publice...@googlegroups.com

Pues creo que para eso es la pregunta de advertencia que aparece cuando se cambia de pagina, otra cosa que puedes hacer es asi como tienes un boton para pasar a la siguiente Pagina puedes incluir tambien un boton para regresar a la pagina, y que al darle click ejecute el proceso de cancelacion del cambio de pagina, u otra opcion mas es que vayas guardando esa informacion de la gestion de auditoria en variables, un arreglo o un cursor y al finalizar de capturar los datos de todas las paginas del PageFrame ahora si pasar esa informacion a las tablas.

Algo mas o menos asi, es que en realidad esta un poco rara esa captura, o mas bien es un poco comun.

Víctor Hugo Espínola Domínguez

unread,
Nov 21, 2012, 6:36:50 PM11/21/12
to publicesvfoxpro
Hola Iván

El código que te envié funciona. Haz la prueba y nos comentas.

Saludos.
Víctor.



--
 
 
 

Jose Mario

unread,
Apr 23, 2013, 1:53:51 PM4/23/13
to publice...@googlegroups.com
victor hugo
npagactiva
es una propiedad creada por el programador
perdona mi ignorancia

Víctor Hugo Espínola Domínguez

unread,
Apr 23, 2013, 2:03:42 PM4/23/13
to publicesvfoxpro
Hola José Mario

>npagactiva
>es una propiedad creada por el programador

Sí. Se le asigna el valor en el ACTIVATE de cada página y en el INIT del formulario se da el valor 1.

Saludos,
Víctor.

Jose Mario

unread,
Apr 23, 2013, 2:13:29 PM4/23/13
to publice...@googlegroups.com
gracias

Jose Mario

unread,
Apr 23, 2013, 2:21:27 PM4/23/13
to publice...@googlegroups.com
tengo tres formularios
el cliente quiere que le haga uno solo
credito fiscal factura y ticket

dentro de los tres utilizo
keypress para asignarle tecla de funcion del F1 al F9 ejemplo
y ademas en el refresh tengo unos totales de unos grid

por ejmplo
presione f1 para consultar los clientes
esto en esta en keypress del formulario 

pero ese f1 existe en los tres formularios independientes

la pregunta ahora que tengo un pageframe con tres paginas
como hago para decirle que cuando este en el pagefrage pagina 
de credito fiscal solo el f1 sea para credito fiscal

IF nkeycode=28 THEN   &&  f1
  thisform.pagf1.pfact.cmdingreso.click()
  thisform.pagf1.pcfis.cmdingreso.click()
  thisform.pagf1.ptick.cmdingreso.click()
ENDIF

Germán Montini

unread,
Apr 23, 2013, 3:37:00 PM4/23/13
to publice...@googlegroups.com
Hola, quería consultarles, en un archivo de Menu (.MPR) cambíe el define menu y el define pad, en los cuales le puse FONT "COURIER", 10 COLOR 14648838
Pero lo que veo es que no cambia lo que muestra en la pantalla el menu
Como tendría que decir, o que me esta faltando?
 
Muchas Gracias
 
Germán Montini
Analista de Sistemas
S.M. de Tucumán.
 

Jairo Miranda

unread,
Apr 23, 2013, 5:11:24 PM4/23/13
to publice...@googlegroups.com

El menú tradicional de Fox no permite colocar diferentes colores, este se adapta a las definiciones del sistema Windows instalado.  , lo que si se puede hacer es agregar imágenes, teclas de control y mensajes. Pero si deseas un menú excelente usa  Foxribbon

 

JM

Mario Oviedo

unread,
Apr 23, 2013, 5:11:33 PM4/23/13
to Comunidad de Visual Foxpro en Español
reindexalo

El día 23 de abril de 2013 13:37, Germán Montini
<gmon...@hotmail.com> escribió:

Luis Maria Guayan

unread,
Apr 23, 2013, 5:29:10 PM4/23/13
to publice...@googlegroups.com
COMPILE Menu.MPR

Pero ojo cuando vuelvas a generar tu ejecutable, tomará el valor del diseñador de formularios, si es que a tu menú lo hiciste desde alli

Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

Germán Montini

unread,
Apr 23, 2013, 6:12:36 PM4/23/13
to publice...@googlegroups.com
Gracias Luis Maria, lo que hice fue en genmenu.prg, lo modifique para que al generar el mpr, me lo arme en la linea de define menu, con la instruccion FONT "COURIER", 10 COLOR 14648838.
O sea que a todos los mpr que genere el visual foxpro, automaticamente estará agregando ese codigo.

Germán Montini

unread,
Apr 23, 2013, 11:54:34 PM4/23/13
to publice...@googlegroups.com
Ya solucioné lo que quería hacer, para quienes siguen usando el generador de menu de Visual Foxpro, aqui les dejo una modificación que le hice al genmenu.prg
Les cambia la letra de los popup y de los pad
donde estan estas variables

* =============================================================================================================================

* VER AQUI

c_FONTMENU = '"Courier New", 11'

c_STYLEMENU = '"B"'

c_COLORMENU = 'RGB(0,0,255,222,237,234),RGB(0,0,0,194,214,224),RGB(191,242,252,41,109,225)'

*

* =============================================================================================================================

lo que no pude modificar son las opciones de arriba del menu
este prg va en "c:\archivos de programa\microsoft visual foxpro 9\genmenu.prg"
Para quien lo vaya a reemplazar, primero copien el original en otro lugar, por si lo quieren tener original
 
Germán Montini
Analista de Sistemas
S.M. de Tucumán
 
genmenu.prg

Germán Montini

unread,
Apr 24, 2013, 12:18:00 AM4/24/13
to publice...@googlegroups.com
Aqui lo reenvio, le cambié l extension ya que el antivirus no me permite enviar archivos prg
 
A quien le encuentre la manera de cambiar los fuentes y color a la parte principal del menu, me puede avisar?
genmenu.psg
Reply all
Reply to author
Forward
0 new messages