Страница: 1 |
Страница: 1 |
Вопрос: Прорисовка формы
Добавлено: 21.06.05 17:04
Автор вопроса: BeTe
Есть проблема. Беру форму, делаю ее маленьких размеров и пишу в нее код на апи для того чтоб была поверх всех форм. Добавляю таймер с интервалом в 10 мс и говорю ему ставить форму поверх других. Работает на ура. Но вот проблема - запускаю какую-нить игрушку и моя форма не видна... Как можно сделать так чтою форма была поверх других форм при любом раскладе, будь то игрушка или не игрушка? Или чтоб хотябы можно было пару точек нарисовать на экране, чтоб они были поверх вселенной всей? Как это сделать?
Ответы
Всего ответов: 2
Номер ответа: 1
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #1
Добавлено: 21.06.05 21:22
1) Это не формой делается...
2) Игруху будет очень тормозить
3) См этот код:
Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function SetTextColor Lib "gdi32" (ByVal hdc As Long, ByVal crColor As Long) As Long
Sub CP(hdc As Long, X1 As Integer, X2 As Integer, Y1 As Integer, Y2 As Integer, COLOR As Long)
Dim x As Integer
Dim y As Integer
For x = X1 To X2
For y = Y1 To Y2
SetPixel hdc, x, y, COLOR
Next y
Next x
End Sub
Private Sub Command1_Click()
Timer1.Enabled = True
End Sub
Private Sub HScroll1_Change()
Label2 = HScroll1.Value + 1
End Sub
Private Sub Timer1_Timer()
x3 = 512
y3 = 384
s = HScroll1.Value
CP GetWindowDC(GetDesktopWindow), x3 - s, x3 + s, y3 - s, y3 + s, RGB(255, 255, 255)
End Sub
HScroll1 от 1 до 4 вроде, короче определяет размер точки
Номер ответа: 2
Автор ответа:
BeTe
Вопросов: 6
Ответов: 30
Профиль | | #2
Добавлено: 22.06.05 11:07
Спасиба большое. Притормаживает это точно... Только вот все равно запускаю игруху и точка видна на мгновение, и потом появляется очень редко и снова на мгновение. Может это потому что экран в игрушке обновляется чаще чем таймер срабатывает на форме? я уже пробовал минимальное значение в интервале, результат тот же. Можно эту проблему как то решить или это глухой угол?