Создание Крестика в центре экрана - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д