MENU POPUP NO MSFLEXGRID
Bom dia Amigos
Estou com dificuldade em implantar o menu Popup no MSFlexGrid.
Sei criar o menu, sei executa-lo qdo clico com o botão direito do mouse
Mas está ocorrendo um problema, qdo eu clico com o direito do mouse, sobre o MSFlexGrid, a celula/linha em questão não aparece selecionada, com isso fico sem referencia para programar o resultado.
Estou com dificuldade em implantar o menu Popup no MSFlexGrid.
Sei criar o menu, sei executa-lo qdo clico com o botão direito do mouse
Mas está ocorrendo um problema, qdo eu clico com o direito do mouse, sobre o MSFlexGrid, a celula/linha em questão não aparece selecionada, com isso fico sem referencia para programar o resultado.
Isso, é bem mais complicado do que parece. O FlexGrid, não reconhece o clique direito como [Ô]clique[Ô] então tem que clicar com o esquerdo primeiro depois com o direito. A menos que vc queira usar umas API doidas ae, é o jeito...
Exatamente, eu seria q simular um click do mouse.
Veja esta solução já postada no forum.
Private Sub MSFlexgrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
With MSFlexGrid1
.Col = .MouseCol
.Row = .MouseRow
If Button = 2 Then
PopupMenu mnuteste, , .Left + x, .Top + y
.SetFocus
End If
End With
End Sub
Essa solução só funciona qdo a gente clica primeiro com o botão esquerdo e depois com o botão direito do mouse.
A propriedade MouseCol só é setada pelo botão direito do mouse
A propriedade MouseCol só é setada pelo botão direito do mouse
olha só eu clico com o botão direito e funciona de primeira, não tem problema nenhum, o que vc gostaria de fazer exatamente?
Gostaria que a linha inteira aparecesse selecionada.
Minha propriedade estão setadas:
AlowBigSelection = True
SelectionMode = flexSelectionByRow
Minha propriedade estão setadas:
AlowBigSelection = True
SelectionMode = flexSelectionByRow
Para dar um Highlight na linha inteira você pode fazer isso :
Private Sub Grid_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = 2 Then
Grid.Row = Grid.MouseRow
Grid.Col = 0
Grid.ColSel = Grid.Cols - 1
Grid.SetFocus
End If
End Sub
Valew SZBRUUNO
Deu certo!
Deu certo!
Tópico encerrado , respostas não são mais permitidas