PDA

Ver la Versión Completa : CMMouseEnter en DBNavigator??


Johnny Q
21-06-2005, 17:08:48
Un cordial saludo a todos,

Estoy intentando hacer que cuando posicione el cursor sobre un boton de un DBNavigator se realize alguna acción.

Para tal efecto estoy incluyendo el siguiente codigo en el evento OnMouseMove de mi formulario: DBNavigator1.Controls[2].CMMouseEnter()

El problema es que cuando llego hasta CMMouseEnter() en el parentesis debe ir un mensaje de tipo TMessage y la verdad no se que debo hacer en este punto. Si alguno de ustedes me puede dar alguna pista se los agradecere enormente.

Lepe
22-06-2005, 00:25:49
Cada boton de un DBNavigator, ejecuta una de estas sentencias de su dataset.

Dataset.First;
Dataset.Prior;
Dataset.Next;
Dataset.Last;
Dataset.Insert;
Dataset.Delete;
Dataset.Edit;
Dataset.Refresh;

Resultaría más comodo usar botones, o un Tframe y dentro 8 botones (Tbutton, SpeedButton, BitBtn), eligiendo aquel que tenga los eventos que tu deseas. Y directamente programas los eventos OnEnter de esos botones.

¿Es viable esta solución?

Johnny Q
22-06-2005, 01:01:39
Gracias por tu respuesta Lepe.

La verdad es que tenia sin resolver un problema en el evento BeforePost y por eso necesitaba capturar el evento o accion CMMouseEnter del boton post del DBNavigator. La solución que me planteas ya había rondado mi cabeza, pero queria aprovechar el DBNavigator.

Lepe
22-06-2005, 10:37:38
¿que tipo de problema? Quizás se pueda inhabilitar ese evento asignándole nil en un momento determinado.

Un saludo

Johnny Q
22-06-2005, 17:28:50
Necesitaba cancelar la insercion de datos si existia un nombre repetido en la tabla. El problema es que si le daba la instruccion tabla.cancel todos los datos digitados en los edit se borraban. Para mi caso en particular alguien me aconsejo utilizar el procedimiento ABORT, y asi los datos de los edit se mantienen.