DUPLO CLICK COMMANDBUTTON

KELVINCD 22/02/2013 11:36:01
#419524
Boas pessoa em meu projeto estou usando uma função onde o cliente pode alterar o local dos botoes conforme seu gosto ate ai tudo bem mas me deparei com um problema.
quando ele clica para alterar o local onde os botões iram ficar, ele consegue arrastar o botão para área desejada mas ao soltar o botão ele abre os comando que este botão recebeu no meu caso abre uma nova tela.
tem como colocar um duplo click nos commandbutton?
ai em um click ele poderia arrastar os botoes e um duplo click abriria os comando.
MARCELO.TREZE 22/02/2013 11:56:12
#419525
como que vc arrasta qual é o comando que usa
KELVINCD 22/02/2013 12:03:04
#419526
Option Explicit

Dim MyLeft As Long
Dim MyTop As Long
Dim m_Drag As Boolean
Dim m_StartX As Single, m_StartY As Single

Private Sub CmdCadastro_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
m_Drag = True
m_StartX = x
m_StartY = y
End Sub

Private Sub CmdCadastro_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
If m_Drag Then
cmdCadastro.Move cmdCadastro.Left + (x - m_StartX), cmdCadastro.Top + (y - m_StartY)
End If
End Sub

Private Sub CmdCadastro_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
m_Drag = False
With cmdCadastro
MyLeft = .Left
MyTop = .Top
.Left = MyLeft
SaveSetting [Ô]<botao1>[Ô], [Ô]posicao[Ô], [Ô]left[Ô], MyLeft
.Top = MyTop
SaveSetting [Ô]<botao1>[Ô], [Ô]posicao[Ô], [Ô]top[Ô], MyTop
End With
End Sub
ROBIU 22/02/2013 13:31:44
#419530
Resposta escolhida
Citação:

tem como colocar um duplo click nos commandbutton?
ai em um click ele poderia arrastar os botoes e um duplo click abriria os comando.


Todos estão acostumados a executar o comando do butão com um click. O que você está querendo fazer vai deixar seu sistema fora dos padrões/normas. Também haverá o incoveniente do butão ficar saindo do lugar quando no click duplo já que vai acontecer de exetuar primeiro a rotina do click simples.

A solução é simples: Basta permitir a movimentação do butão com o click do butão direito (2) ou do centro (4), conforme exemplo:

Private Sub CmdCadastro_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = 2 Then
m_Drag = True
m_StartX = x
m_StartY = y
End If

End Sub


Outra forma é criar uma variável true/false e colocar em um menu ou butão [Ô]Configurar posição do controle[Ô]. Aí vai dá mais trabalho já que vai ter que testar a situação da variavel com if... end if para executar o click
KELVINCD 22/02/2013 14:31:40
#419536
analisando por esse lado é verdade, fiz como vc comento obrigado pela ajuda.
Tópico encerrado , respostas não são mais permitidas