Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Вопрос по vb.net Добавлено: 14.02.09 15:44  

Автор вопроса:  ygen | Web-сайт: soft.ygen.ru/

Ответить

  Ответы Всего ответов: 25  

Номер ответа: 16
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #16 Добавлено: 16.02.09 17:33
  1. AddHandler(<Control.Event>, AddressOf <Func or Sub>)

вот теперь мы дали направление :)

Ответить

Номер ответа: 17
Автор ответа:
 manssika



ICQ: 409483738 

Вопросов: 0
Ответов: 3
 Профиль | | #17 Добавлено: 17.02.09 21:02
помогите пожалуйста! Разработать приложение, отображающее координаты движения курсора на форме, при чём, если курсор выходит за пределы формы, необходимо выдавать сообщение: «Курсор за пределами формы».

Ответить

Номер ответа: 18
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #18 Добавлено: 17.02.09 23:56
А что здесь сложного?

Ответить

Номер ответа: 19
Автор ответа:
 manssika



ICQ: 409483738 

Вопросов: 0
Ответов: 3
 Профиль | | #19 Добавлено: 18.02.09 10:46
ну, уж извините)) девушка я!

Ответить

Номер ответа: 20
Автор ответа:
 Aston



ICQ: 214-179-991 

Вопросов: 42
Ответов: 272
 Профиль | | #20 Добавлено: 18.02.09 14:12
Стил бранд тут на форуме не только ярые программист встречаются но и только начинающие :)
Мансиска тебе надо играться с событием MouseMove в форме.
Вот тебе небольшой примерчик - кинь на форму 2 текстовых поля и добавь код.
  1. Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  2. Text1.Text = X
  3. Text2.Text = Y
  4. End Sub

Ответить

Номер ответа: 21
Автор ответа:
 ника



Вопросов: 1
Ответов: 111


 Профиль | | #21 Добавлено: 18.02.09 16:08
ну, уж извините)) девушка я!

и что из этого следует?
звучит как признание в собственной глупости :-(

Ответить

Номер ответа: 22
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #22 Добавлено: 18.02.09 16:10
Вот интересно...
Ника не появляась на форуме уже 2 месяца, а тут как раз в тему появилась... Неужели все это время сидела и ждала пока начнут писать про девушек? :)
Или кто-то проинформировал?

Ответить

Номер ответа: 23
Автор ответа:
 ника



Вопросов: 1
Ответов: 111


 Профиль | | #23 Добавлено: 18.02.09 16:13
у меня свои источники информации ;-)

Ответить

Номер ответа: 24
Автор ответа:
 manssika



ICQ: 409483738 

Вопросов: 0
Ответов: 3
 Профиль | | #24 Добавлено: 18.02.09 17:44
и совсем не хотела признавать свою глупость, просто не очень мне всё это дается)) а остальным спасибо огромное)

Ответить

Номер ответа: 25
Автор ответа:
 fAndOrIn



Вопросов: 5
Ответов: 344
 Профиль | | #25 Добавлено: 18.02.09 20:29
manssika, как будто для тебя лично Father не так давно подкинул основу для этого ответа. Я сам не до конца понял, как это работает, однако... работает:)
На форму положить Label и вставить код
  1. Option Explicit 'Form
  2. Public Sub Hover()
  3.     'Me.BackColor = vbHighlight
  4. End Sub
  5.  Public Sub Leave()
  6.     'Me.BackColor = vbButtonFace
  7.     Label1 = "Курсор за пределами формы"
  8. End Sub
  9.  Private Sub Form_Load()
  10.   Label1.Left = 0: Label1.Width = Me.Width
  11.   SetProp Me.hwnd, "OBJPTR", ObjPtr(Me)
  12.   SetProp Me.hwnd, "FATHER", SetWindowLong(hwnd, GWL_WNDPROC, AddressOf WndProc)
  13. End Sub
  14. Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  15.   Label1 = "X=" & X & "  Y=" & Y
  16. End Sub


В отдельный модуль вставить следующее
  1. Option Explicit 'Module
  2.  
  3. Public Type TME
  4.   cbSize As Long
  5.   dwFlags As Long
  6.   hwndTrack As Long
  7.   dwHoverTime As Long
  8. End Type
  9.  
  10. Public Declare Function TrackMouseEvent Lib "user32" (lpEventTrack As TME) As Long
  11. Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
  12. Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
  13. Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  14. Public Declare Function SetProp Lib "user32" Alias "SetPropA" (ByVal hwnd As Long, ByVal lpString As String, ByVal hData As Long) As Long
  15. Public Declare Function GetProp Lib "user32" Alias "GetPropA" (ByVal hwnd As Long, ByVal lpString As String) As Long
  16. Public Declare Function RemoveProp Lib "user32" Alias "RemovePropA" (ByVal hwnd As Long, ByVal lpString As String) As Long
  17. Public Declare Sub PutMem4 Lib "msvbvm60" (Destination As Any, ByVal Source As Long)
  18.  
  19. Public Const GWL_WNDPROC = (-4)
  20. Public Const WM_DESTROY = &H2
  21. Public Const WM_MOUSEMOVE = &H200
  22. 'Public Const WM_MOUSEHOVER = &H2A1
  23. Public Const WM_MOUSELEAVE = &H2A3
  24. 'Public Const TME_HOVER = &H1
  25. Public Const TME_LEAVE = &H2
  26. 'Public Const TME_NONCLIENT = &H10
  27.  
  28. Public Function WndProc(ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  29.   On Error Resume Next
  30.   Dim frm As Object
  31.   PutMem4 frm, GetProp(hwnd, "OBJPTR")
  32.   Select Case Msg
  33.   Case WM_DESTROY
  34.     RemoveProp hwnd, "BHOVER"
  35.     RemoveProp hwnd, "OBJPTR"
  36.     RemoveProp hwnd, "FATHER"
  37.   Case WM_MOUSEMOVE
  38.     If Not CBool(GetProp(hwnd, "BHOVER")) Then
  39.       Dim tm As TME
  40.       SetProp hwnd, "BHOVER", True
  41.       frm.Hover
  42.       tm.cbSize = LenB(tm)
  43.       tm.hwndTrack = hwnd
  44.       tm.dwFlags = TME_LEAVE
  45.       TrackMouseEvent tm
  46.     End If
  47.   Case WM_MOUSELEAVE
  48.     SetProp hwnd, "BHOVER", False
  49.     frm.Leave
  50.   End Select
  51.   PutMem4 frm, 0&
  52.   WndProc = CallWindowProc(GetProp(hwnd, "FATHER"), hwnd, Msg, wParam, lParam)
  53. End Function

Наверняка здесь много лишнего, но как говорят - из песни слов не выкинешь. Кстати, что-то давно Fhater не показывается... (может тоже в засаде сидит)

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам