Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> позиционирование курсора мыши 
:(
    Опции темы
Wedi
Дата 16.4.2019, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 10.3.2019

Репутация: -1
Всего: -1



привет

подскажите команду для позиционирования курсора мыши
в заданные координаты


Это сообщение отредактировал(а) Wedi - 16.4.2019, 14:14
PM MAIL   Вверх
ufopera
Дата 16.4.2019, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 3.10.2013

Репутация: нет
Всего: нет



Код


Declare Function SetCursorPos Lib "user32" Alias "SetCursorPos" (ByVal x As Long, ByVal y As Long) As Long

SetCursorPos (300, 300)


PM MAIL WWW   Вверх
Wedi
Дата 16.4.2019, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 10.3.2019

Репутация: -1
Всего: -1



ufopera, это для абсолютных координат
а как указать локальные для формы или картинки?
PM MAIL   Вверх
ufopera
Дата 16.4.2019, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 3.10.2013

Репутация: нет
Всего: нет



GetWindowRect

Добавлено @ 16:57
Вот Вам пример, для текущих и будущих вопросов, разберетесь:
Код

'This project needs
'a Form, called 'Form1'
'a Picture Box, called 'ExplButton' (50x50 pixels)
'a Picture Box with an icon in it, called 'picIcon'
'two timers (Timer1 and Timer2), both with interval 100
'Button, called 'Command1'
'In general section
Private Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type
Private Type POINTAPI
    X As Long
    Y As Long
End Type

'Declare the API-Functions
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long
Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Sub DrawButton(Pushed As Boolean)
    Dim Clr1 As Long, Clr2 As Long
    If Pushed = True Then
        'If Pushed=True then clr1=Dark Gray
        Clr1 = &H808080
        'If Pushed=True then clr1=White
        Clr2 = &HFFFFFF
    ElseIf Pushed = False Then
        'If Pushed=True then clr1=White
        Clr1 = &HFFFFFF
        'If Pushed=True then clr1=Dark Gray
        Clr2 = &H808080
    End If

    With Form1.ExplButton
        ' Draw the button
        Form1.ExplButton.Line (0, 0)-(.ScaleWidth, 0), Clr1
        Form1.ExplButton.Line (0, 0)-(0, .ScaleHeight), Clr1
        Form1.ExplButton.Line (.ScaleWidth - 1, .ScaleHeight - 1)-(.ScaleWidth - 1, 0), Clr2
        Form1.ExplButton.Line (.ScaleWidth - 1, .ScaleHeight - 1)-(0, .ScaleHeight - 1), Clr2
    End With
End Sub
Private Sub Command1_Click()
    Dim Rec As RECT
    'Get Left, Right, Top and Bottom of Form1
    GetWindowRect Form1.hwnd, Rec
    'Set Cursor position on X
    SetCursorPos Rec.Right - 15, Rec.Top + 15
End Sub
Private Sub ExplButton_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    DrawButton True
End Sub
Private Sub ExplButton_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    DrawButton False
End Sub
Private Sub ExplButton_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    DrawButton False
End Sub
Private Sub Form_Load()
    'KPD-Team 1998
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net

    Dim Stretched As Boolean
    'picIcon.Visible = False
    'API uses pixels
    picIcon.ScaleMode = vbPixels
    'No border
    ExplButton.BorderStyle = 0
    'API uses pixels
    ExplButton.ScaleMode = vbPixels
    'Set graphic mode te 'persistent graphic'
    ExplButton.AutoRedraw = True
    'API uses pixels
    Me.ScaleMode = vbPixels
    'Set the button's caption
    Command1.Caption = "Set Mousecursor on X"

    ' If you set Stretched to true then stretch the icon to te Height and Width of the button
    ' If Stretched=False, the icon will be centered
    Stretched = False

    If Stretched = True Then
        ' Stretch the Icon
        ExplButton.PaintPicture picIcon.Picture, 1, 1, ExplButton.ScaleWidth - 2, ExplButton.ScaleHeight - 2
    ElseIf Stretched = False Then
        ' Center the picture of the icon
        ExplButton.PaintPicture picIcon.Picture, (ExplButton.ScaleWidth - picIcon.ScaleWidth) / 2, (ExplButton.ScaleHeight - picIcon.ScaleHeight) / 2
    End If
    ' Set icon as picture
    ExplButton.Picture = ExplButton.Image
End Sub
Private Sub Timer1_Timer()
    Dim Rec As RECT, Point As POINTAPI
    ' Get Left, Right, Top and Bottom of Form1
    GetWindowRect Me.hwnd, Rec
    ' Get the position of the cursor
    GetCursorPos Point

    ' If the cursor is located above the form then
    If Point.X >= Rec.Left And Point.X <= Rec.Right And Point.Y >= Rec.Top And Point.Y <= Rec.Bottom Then
        Me.Caption = "MouseCursor is on form."
    Else
        ' The cursor is not located above the form
        Me.Caption = "MouseCursor is not on form."
    End If
End Sub
Private Sub Timer2_Timer()
    Dim Rec As RECT, Point As POINTAPI
    ' Get Left, Right, Top and Bottom of ExplButton
    GetWindowRect ExplButton.hwnd, Rec
    ' Get the position of the cursor
    GetCursorPos Point
    ' If the cursor isn't located above ExplButton then
    If Point.X < Rec.Left Or Point.X > Rec.Right Or Point.Y < Rec.Top Or Point.Y > Rec.Bottom Then ExplButton.Cls
End Sub




И еще:
а _zorn_ у, я отвечу что для моих целей vb6 хватает поскольку я не программист а исследователь

Не оправдываетесь, VB6 очень хорош (те кто по настоящему его знает его ценит) и уж получше некоторых популярных.




Это сообщение отредактировал(а) ufopera - 16.4.2019, 17:04
PM MAIL WWW   Вверх
Wedi
Дата 16.4.2019, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 10.3.2019

Репутация: -1
Всего: -1



ufopera, да мне класса хватило


Код

Public xm As Long
Public ym As Long

Public Sub Coord()
  xm = Form1.Left / twip
  ym = Form1.Top / twip + head
End Sub

  Dim c As New Coord
  c.Coord
  SetCursorPos c.xm + 100, c.ym + 100


PM MAIL   Вверх
ufopera
Дата 16.4.2019, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 3.10.2013

Репутация: нет
Всего: нет



Цитата(Wedi @  16.4.2019,  17:13 Найти цитируемый пост)
да мне класса хватило


А мне БЫ спасибо хватило.

PM MAIL WWW   Вверх
Wedi
  Дата 16.4.2019, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 10.3.2019

Репутация: -1
Всего: -1



ufopera, да спасибо мало
огромное СПАСИБИЩЕ!!!
PM MAIL   Вверх
Google
  Дата 27.5.2019, 10:43 (ссылка)  





  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.5772 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.