Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Equivalente al evento when() en el menu
Message
General information
Forum:
Visual FoxPro
Category:
Menus & Menu designer
Environment versions
Visual FoxPro:
VFP 8 SP1
OS:
Windows XP SP1
Network:
Windows 2000 Server
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01009313
Message ID:
01009332
Views:
18
This message has been marked as the solution to the initial question of the thread.
Hola, Fabián.

>Tengo un form normal con las opciones de nuevo, editar, guardar, grabar, las cuales se pueden ejecutar a través de un toolbar o un menú.
>
>Hace algun tiempo tuve que utilizar una variante del método WriteBuffer() del ejemplo tastrade que venía incluído en VFP 7.0 o anterior, porque en algunos casos no me guardaba la información que grababa en los TextBox.
>
>Pero en este momento me funciona solo cuando lo ejecuto con la ToolBar (tuve que utilizar sobre esta el método when para que ejecutara el método WriteBuffer() antes de que el control TextBox sobre el que había registrado la información se actualizara antes de perder el foco), pero no me funciona sobre el menú ya que no he encontrado la forma de ejecutar el WriteBuffer() antes de que el control TextBox pierda el foco.
>
>Creo que está un poco enredado, pero agradezco su ayuda.

Como yo lo veo, lo mejor sería no hacer esto en la barra de herramientas ni en el menú, sino en el método Save() o Grabar() de tu clase formulario. Tanto toolbars como menués sólo deberían disparar acciones, y no tener lógica asociada al evento mismo. Esto evita, por ejemplo, tener casos de duplicación de código como este.

En general, para evitar este problema del buffer, suele bastar algo simple como thisform.ActiveControl.SetFocus()

Saludos,
Previous
Reply
Map
View

Click here to load this message in the networking platform