+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 3 su 3

Cursore del mouse in posizione voluta

  1. #1
    aldodellacasa non è in linea Scolaretto
    Post
    244
    Like Inviati  
    0
    Like Ricevuti  
    0
    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 Sub
    
    Grazie anticipatamente Aldo

  2. #2
    L'avatar di bumm
    bumm non è in linea Topo di biblioteca Ultimo blog: [VB2010] ComboBox ed Enumeratori
    Post
    2,140
    Blogs
    1
    Like Inviati  
    0
    Like Ricevuti  
    0
    Cos'è Picture1? Se è picturebox, la sua posizione è relativa alla form, quindi il calcolo va bene quando il form occupa tutto lo schermo. Devi prendere in considerazione la posizione della form sul desktop.
    ℹ️ Leggi di più su bumm ...

  3. #3
    aldodellacasa non è in linea Scolaretto
    Post
    244
    Like Inviati  
    0
    Like Ricevuti  
    0
    Si è una picturebox, difatti tutto e ok quando il form occupa tutto lo schermo.
    Hemmm........ posizione della form sul desktop ci studio su un po' grazie.
    Aldo

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Posizione del cursore in un foglio Writer
    Da stefano1962 nel forum LibreOffice, OpenOffice e altro
    Risposte: 0
    Ultimo Post: 29-08-2020, 13:03
  2. Inserire forma in posizione voluta
    Da Hollywood nel forum Microsoft Excel
    Risposte: 4
    Ultimo Post: 16-02-2018, 21:35
  3. Risposte: 19
    Ultimo Post: 01-04-2014, 10:54
  4. Risolto: [VB2010] TextBox: Posizionare il cursore in una determinata posizione
    Da imbranato nel forum Visual Basic .Net
    Risposte: 8
    Ultimo Post: 14-12-2012, 09:56
  5. [ VB2010]Inserire del testo sulla posizione del cursore
    Da IAL32 nel forum Visual Basic .Net
    Risposte: 1
    Ultimo Post: 12-09-2012, 21:29