ok lad mig forklare! Grunden til at den skal simulere button 1 er at den er over en listbox og der er vigtigt at der bliver trykket på den listbox når brugeren trykker højre musetast(mousebutton 2)! Jeg skal nemlig bruge list1.listindex så jeg kan se hvilken en den trykkede på!
Det du har brug for er en måde at selecte det element, der højre klikkes på!
Ved at benytte et ListView istedet for kan du bruge den funktion, der hedder HitTest og herefter selecte det element, der er højreklikket på og herefter eksekvere koden!!
Det andet kan du sikkert godt gøre ved hjælp af et SendMessage API kald men det er en lidt mere indviklet sag!! Ikke uoverkommelig men jeg ville benytte et ListView i stedet for og så selv sørge for at det item, der klikkes på bliver valgt!
Private Declare Function SendMessageLong& Lib \"user32\" Alias \"SendMessageA\" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long)
Private Sub Command1_Click() \'Test Simuler Command2 MouseL_Click Command2.hWnd MouseM_Click Command2.hWnd MouseR_Click Command2.hWnd End Sub
\'Test Simuler Private Sub Command2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) MsgBox Button End Sub
\'Simulere mouse botton 1 Public Function MouseL_Click(hWnd As Long) SendMessageLong hWnd, WM_LBUTTONDOWN, 0&, 0& SendMessageLong hWnd, WM_LBUTTONUP, 0&, 0& End Function
\'Simulere mouse botton 2 Public Function MouseR_Click(hWnd As Long) SendMessageLong hWnd, WM_RBUTTONDOWN, 0&, 0& SendMessageLong hWnd, WM_RBUTTONUP, 0&, 0& End Function
\'Simulere mouse botton 4 Public Function MouseM_Click(hWnd As Long) SendMessageLong hWnd, WM_MBUTTONDOWN, 0&, 0& SendMessageLong hWnd, WM_MBUTTONUP, 0&, 0& End Function
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.