Рисование вне формы в любом месте экрана - VB

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

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

Всем привет! Подскажите, пожалуйста, как оперативно в любой части экрана отрисовать определенную несложную фигуру. Конкретно хочу сделать программу которая каждые X миллисекунд будет отрисовывать посередине экрана прицел. Такого рода софт требуется игроманам, когда стандартные прицелы в игре разъезжаются или попросту плохо видны на объектах того же цвета что и сам прицел. В интернете находил конечно подобный софт.. но они обновляли прицел на экране на столько медленно, что даже на рабочем столе их не было толком видно, уж не говорю про то что в игре .. там его и вовсе становиться не видно. P.S.: Ввел в поисковике форума слово "графика" и "рисование".. вылезало всё что угодно кроме нужного =(

Решение задачи: «Рисование вне формы в любом месте экрана»

textual
Листинг программы
  1. Private Type LOGBRUSH
  2.         lbStyle As Long
  3.         lbColor As Long
  4.         lbHatch As Long
  5.     End Type
  6.     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
  7.     Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
  8.     Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
  9.     Private Const BS_SOLID = 0&
  10.     Private Const PS_COSMETIC = 0&
  11.     Private Const PS_USERSTYLE = 7&
  12.     Private OldPen As Long
  13.  
  14.     Private Sub Form_Load()
  15.     Dim lb As LOGBRUSH, Lengths(4) As Long
  16.     lb.lbColor = 255
  17.     lb.lbStyle = BS_SOLID
  18.     Lengths(1) = 10
  19.     Lengths(2) = 3
  20.     Lengths(3) = 5
  21.     Lengths(4) = 3
  22.     OldPen = SelectObject(hdc, ExtCreatePen(PS_COSMETIC Or PS_USERSTYLE, 1, lb, 4, Lengths(1)))
  23.     End Sub
  24.  
  25.     Private Sub Form_Unload(Cancel As Integer)
  26.     DeleteObject SelectObject(hdc, OldPen)
  27.     End Sub
  28.  
  29.     Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  30.     Line (0, 0)-(X, Y)
  31.     End Sub

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


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

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

13   голосов , оценка 4.308 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы