Рисование вне формы в любом месте экрана - VB
Формулировка задачи:
Всем привет!
Подскажите, пожалуйста, как оперативно в любой части экрана отрисовать определенную несложную фигуру.
Конкретно хочу сделать программу которая каждые X миллисекунд будет отрисовывать посередине экрана прицел. Такого рода софт требуется игроманам, когда стандартные прицелы в игре разъезжаются или попросту плохо видны на объектах того же цвета что и сам прицел.
В интернете находил конечно подобный софт.. но они обновляли прицел на экране на столько медленно, что даже на рабочем столе их не было толком видно, уж не говорю про то что в игре .. там его и вовсе становиться не видно.
P.S.: Ввел в поисковике форума слово "графика" и "рисование".. вылезало всё что угодно кроме нужного =(
Решение задачи: «Рисование вне формы в любом месте экрана»
textual
Листинг программы
- Private Type LOGBRUSH
- lbStyle As Long
- lbColor As Long
- lbHatch As Long
- End Type
- Private Declare Function ExtCreatePen Lib "gdi32" (ByVal dwPenStyle As Long, ByVal dwWidth As Long, lplb As LOGBRUSH, ByVal dwStyleCount As Long, lpStyle As Long) As Long
- Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
- Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
- Private Const BS_SOLID = 0&
- Private Const PS_COSMETIC = 0&
- Private Const PS_USERSTYLE = 7&
- Private OldPen As Long
- Private Sub Form_Load()
- Dim lb As LOGBRUSH, Lengths(4) As Long
- lb.lbColor = 255
- lb.lbStyle = BS_SOLID
- Lengths(1) = 10
- Lengths(2) = 3
- Lengths(3) = 5
- Lengths(4) = 3
- OldPen = SelectObject(hdc, ExtCreatePen(PS_COSMETIC Or PS_USERSTYLE, 1, lb, 4, Lengths(1)))
- End Sub
- Private Sub Form_Unload(Cancel As Integer)
- DeleteObject SelectObject(hdc, OldPen)
- End Sub
- Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
- Line (0, 0)-(X, Y)
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д