Ciao a Tutti
All'apertura di un form, mando il cursore del mouse su di una picture, quindi in una posizione voluta, ed il tutto funziona, ma con la proprietà WindowState del form in Maximized. Ora però ho la necessità di avere il form con dimensioni diverse quindi imposto la proprietà WindowState in Normal, e quì il problema il cursore del mouse non si posiziona più correttamente, ma devo aggiungere e togliere valori. (Vedi '+200 ? '-100 ?) allego progettino di prova
Dove oltre la posizione iniziale visualizzo anche la posizione corrente del cursore del mouse.
Private Declare Function GetWindowRect Lib "user32" (ByVal hWnd As Long, lpRect As RECT) As Long Private Declare Function SetCursorPos Lib "user32" (ByVal RigaX As Long, ByVal ColY As Long) As Long Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Private CoordPicture As Long Private RigaX As Long Private ColY As Long Private CoordPict As RECT 'Per monitorare la pos 'Corrente del Mouse Private Type POINTAPI ColYY As Long RigaXX As Long End Type Private CoordCorr As POINTAPI Private ColCorrY As Long Private RigaCorrX As Long Private CoordMouse As Long Private Sub Form_Load() 'Leggo le coordinate della Picture1 Picture1.ScaleMode = 3 'pixel CoordPicture = GetWindowRect(Picture1.hWnd, CoordPict) ColY = (CoordPict.Left + CoordPict.Right) / 2 '+ 200 ?????????? RigaX = (CoordPict.Top + CoordPict.Bottom) / 2 '- 100 ?????????? 'Visualizzo la Posizione iniziale del mouse SetCursorPos ColY, RigaX Label1.Caption = ColY Label2.Caption = RigaX '''''''''''''''''''''''''''''''RigaX 'Per visualizzare le coordinate correnti 'se si sposta il mouse sulla form Timer1.Interval = 1 ''''''''''''''''''''''''''''''' End Sub Private Sub Timer1_Timer() 'Leggo le coordinate correnti del mouse CoordMouse = GetCursorPos(CoordCorr) ColCorrY = CoordCorr.ColYY RigaCorrX = CoordCorr.RigaXX 'Visualizzo le coordinate del mouse Label3.Caption = ColCorrY Label4.Caption = RigaCorrX End SubGrazie anticipatamente Aldo