Создание Крестика в центре экрана - VB

Узнай цену своей работы

Формулировка задачи:

Помогите плиз. Хочу сделать так: Вот чтобы открыл программу, нажал (допустим) на End и в центре экрана появился крестик Crosshair. Кто поможет? Плиз дайте код и обьясните че как делать. Заранее благодарен =)
Забыл, еще можно чтобы так: нажал на End-крестик появился, снова нажал на End - крестик исчез

Решение задачи: «Создание Крестика в центре экрана»

textual
Листинг программы
Option Explicit
 
Private Const WM_HOTKEY = &H312
Public Const GWL_WNDPROC = -4
 
Public Declare Function RegisterHotKey Lib "user32" (ByVal hwnd As Long, ByVal id As Long, ByVal fsModifiers As Long, ByVal vk As Long) As Long
Public Declare Function UnregisterHotKey Lib "user32" (ByVal hwnd As Long, ByVal id As Long) As Long
Public Declare Function GlobalAddAtom Lib "kernel32" Alias "GlobalAddAtomA" (ByVal lpString As String) As Long
Public Declare Function GlobalDeleteAtom Lib "kernel32" (ByVal nAtom As Long) As Long
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private 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
 
Public oProc As Long
Public hAt As Long
Dim EndState As Boolean
 
Public Function WindowProc(ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    Select Case Msg
    Case WM_HOTKEY
        If wParam = hAt Then EndState = Not EndState
        If EndState Then frmCross.Move (Screen.Width - frmCross.Width) / 2, (Screen.Height - frmCross.Height) / 2
        frmCross.Visible = EndState
    End Select
    WindowProc = CallWindowProc(oProc, hwnd, Msg, wParam, lParam)
End Function

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.25 из 5
Похожие ответы