Mantener un botón pulsado.

05/02/2007 - 09:26 por César | Informe spam
Hola a todos.

Quiero asignar una acción a un botón (hasta aquí no hay problema) y quiero
que, mientras el botón se mantenga pulsado, la acción se vaya repitiendo.

¿Alguien puede echarme una mano?

Gracias anticipadas.

Saludos, César.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
05/02/2007 - 10:45 | Informe spam
hola, César !

Quiero asignar una accion a un boton (hasta aqui no hay problema)
y quiero que, mientras el boton se mantenga pulsado, la accion se vaya repitiendo...



prueba con algo +/- como lo siguiente:
-> en el modulo de codigo del objeto donde se encuentre incrustado tu boton
[y asumiendo que se llama Button1] :))

Private Declare Function GetAsyncKeyState Lib "User32" (ByVal vKey As Long) As Long
Private Sub CommandButton1_MouseDown( _
ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
DoEvents
Do While GetAsyncKeyState(&H1)
[a1] = [a1] + 1
Loop
MsgBox "Boton liberado ..."
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 César
05/02/2007 - 13:10 | Informe spam
Hola Héctor.

Gracias por tu atención.

Voy a probar y te cuento...

Saludos. César.


"Héctor Miguel" escribió:

hola, César !

> Quiero asignar una accion a un boton (hasta aqui no hay problema)
> y quiero que, mientras el boton se mantenga pulsado, la accion se vaya repitiendo...

prueba con algo +/- como lo siguiente:
-> en el modulo de codigo del objeto donde se encuentre incrustado tu boton
[y asumiendo que se llama Button1] :))

Private Declare Function GetAsyncKeyState Lib "User32" (ByVal vKey As Long) As Long
Private Sub CommandButton1_MouseDown( _
ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
DoEvents
Do While GetAsyncKeyState(&H1)
[a1] = [a1] + 1
Loop
MsgBox "Boton liberado ..."
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.



Respuesta Responder a este mensaje
#3 César
08/02/2007 - 08:15 | Informe spam
Hola Héctor.

He probado tu solución pero no consigo adaptarla a lo que busco.

Tengo el siguiente código asociado a un botón de una barra de herramientas.
Al pulsarlo desplaza hacia abajo el título de una serie de un gráfico.

Sub Etiquetas_Rótulos_Dw()
Set QueTítulo = Selection
QueSerie = Selection.Parent.PlotOrder
ActiveChart.SeriesCollection(QueSerie).Points(1).DataLabel.Select
Selection.Top = Selection.Top + 1
QueTítulo.Select
End Sub

Lo que busco es que el título se siga desplazando mientras esté el botón
pulsado.

¿Alguna idea?

Gracias anticipadas.

Saludos, César.

"César" wrote:

Hola Héctor.

Gracias por tu atención.

Voy a probar y te cuento...

Saludos. César.


"Héctor Miguel" escribió:

> hola, César !
>
> > Quiero asignar una accion a un boton (hasta aqui no hay problema)
> > y quiero que, mientras el boton se mantenga pulsado, la accion se vaya repitiendo...
>
> prueba con algo +/- como lo siguiente:
> -> en el modulo de codigo del objeto donde se encuentre incrustado tu boton
> [y asumiendo que se llama Button1] :))
>
> Private Declare Function GetAsyncKeyState Lib "User32" (ByVal vKey As Long) As Long
> Private Sub CommandButton1_MouseDown( _
> ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
> DoEvents
> Do While GetAsyncKeyState(&H1)
> [a1] = [a1] + 1
> Loop
> MsgBox "Boton liberado ..."
> End Sub
>
> si cualquier duda [o informacion adicional]... comentas ?
> saludos,
> hector.
>
>
>
Respuesta Responder a este mensaje
#4 Héctor Miguel
09/02/2007 - 02:07 | Informe spam
hola, César !

He probado tu solucion pero no consigo adaptarla a lo que busco.
Tengo el siguiente codigo asociado a un boton de una barra de herramientas.
Al pulsarlo desplaza hacia abajo el titulo de una serie de un grafico.
Sub Etiquetas_Rotulos_Dw()
Set QueTitulo = Selection
QueSerie = Selection.Parent.PlotOrder
ActiveChart.SeriesCollection(QueSerie).Points(1).DataLabel.Select
Selection.Top = Selection.Top + 1
QueTitulo.Select
End Sub
Lo que busco es que el titulo se siga desplazando mientras este el boton pulsado.
Alguna idea?



el 'detalle' es que en el codigo que expones no estas usando la funcion de las API's :))
prueba incluyendo esa 'llamada' +/- como sigue:

' esta linea al inicio del mismo modulo donde ejecutas 'la macro' ...
Private Declare Function GetAsyncKeyState Lib "User32" (ByVal vKey As Long) As Long

Sub Etiquetas_Rotulos_Dw()
Set QueTitulo = Selection
QueSerie = Selection.Parent.PlotOrder
ActiveChart.SeriesCollection(QueSerie).Points(1).DataLabel.Select
DoEvents
Do While GetAsyncKeyState(&H1)
Selection.Top = Selection.Top + 1
Loop
QueTitulo.Select
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#5 César
09/02/2007 - 09:01 | Informe spam
Hola Héctor.

Gracias de nuevo por tu interés.

Probaré y ya te cuento.

Saludos, César.

"Héctor Miguel" wrote:

hola, César !

> He probado tu solucion pero no consigo adaptarla a lo que busco.
> Tengo el siguiente codigo asociado a un boton de una barra de herramientas.
> Al pulsarlo desplaza hacia abajo el titulo de una serie de un grafico.
> Sub Etiquetas_Rotulos_Dw()
> Set QueTitulo = Selection
> QueSerie = Selection.Parent.PlotOrder
> ActiveChart.SeriesCollection(QueSerie).Points(1).DataLabel.Select
> Selection.Top = Selection.Top + 1
> QueTitulo.Select
> End Sub
> Lo que busco es que el titulo se siga desplazando mientras este el boton pulsado.
> Alguna idea?

el 'detalle' es que en el codigo que expones no estas usando la funcion de las API's :))
prueba incluyendo esa 'llamada' +/- como sigue:

' esta linea al inicio del mismo modulo donde ejecutas 'la macro' ...
Private Declare Function GetAsyncKeyState Lib "User32" (ByVal vKey As Long) As Long

Sub Etiquetas_Rotulos_Dw()
Set QueTitulo = Selection
QueSerie = Selection.Parent.PlotOrder
ActiveChart.SeriesCollection(QueSerie).Points(1).DataLabel.Select
DoEvents
Do While GetAsyncKeyState(&H1)
Selection.Top = Selection.Top + 1
Loop
QueTitulo.Select
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida