Страница: 1 |
Я тоже видел этот код, но ничего не понял. А куда его тебе? Может, чем помогу? Не знаю о том ли речь но текст появится без формы... Private Declare Function SelectClipPath Lib "gdi32" _ Все цвета это звета формы, а для работы из sub main() надо добавить в код вызов form1.show Страница: 1 |
Вопрос: Вопрос к создателю кода "Написание слова прямо ...
Добавлено: 19.02.03 11:24
Автор вопроса: vig11 | ICQ: 213777061
В библиотеке кодов на данном сайте я обнаружил довольно интересный код "Написание слова прямо поверх всех окон". Т.к. в коде нет комментариев, хочу задать вопрос создателю кода или тем, кто может помочь разобраться.
1. Как можно изменить цвет текста и цвет фона?
2. Почему если я записал этот код в форму и на кнопку поставил вызов функции TestDesktopDC, то данный код срабатывает прекрасно, но если я записал этот же код в модуль и функцию TestDesktopDC переименовал в Main и запускаю программу без нажатия кнопки ничего не работает.
Ответы
Всего ответов: 6
Номер ответа: 1
Автор ответа:
Илья
ICQ: 251647191
Вопросов: 37
Ответов: 167
Web-сайт:
Профиль | | #1
Добавлено: 19.02.03 15:25
Номер ответа: 2
Автор ответа:
vig11
ICQ: 213777061
Вопросов: 21
Ответов: 159
Профиль | | #2
Добавлено: 19.02.03 16:13
Во-первых с первым вопросом я разобрался. Остался только второй - самый тяжёлый.
Где использовать? Хотел бы заменить MsgBox-ы. Во-первых не пищит при появлении. Во-вторых можно писать в несколько строк и в цвете. Ну и просто интересно.
Номер ответа: 3
Автор ответа:
Alex_
ICQ: 202830092
Вопросов: 16
Ответов: 49
Профиль | | #3
Добавлено: 19.02.03 23:07
Как менять цвет и текст надеюся догадаитесь !!!
не забудте поставить borderstyle = none
(ByVal hdc As Long, ByVal iMode As Long) As Long
Private Declare Function BeginPath Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function EndPath Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function PathToRegion Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" _
(ByVal hWnd As Long, ByVal hRgn As Long, _
ByVal bRedraw As Boolean) As Long
Private Const RGN_COPY = 5
Private Sub Form_Load()
' Don't forget to set Form.BorderStyle property to None !
Const TXT = " Cool programm" & vbCrLf & " from" & vbCrLf & _
"Cool Company" & vbCrLf & "CopyLeft by Ark"
Dim hRgn As Long
Font.Name = "Times New Roman"
Font.Bold = True
Font.Size = 60
Width = TextWidth(TXT)
Height = TextHeight(TXT)
BeginPath hdc
CurrentX = 0
CurrentY = 0
Print TXT
' Здесь вместо текста можно рисовать фигуры
EndPath hdc
hRgn = PathToRegion(hdc)
SetWindowRgn hWnd, hRgn, False
' Hачинаем фантазировать с формой. Можно так
Picture = LoadPicture("c:\windows\облака.bmp")
' А можно так
' dclr = 256 / (TextHeight(TXT) / 30)
' clr = 0
' For i = 120 To 120 + TextHeight(TXT) Step 30
' Line (0, i)-Step(5000, 0), RGB(0, 0, clr)
' clr = clr + dclr
' Next i
' Можно дать форме градиентную заливку и т.д.
' Двигаем к центру, а можно в таймере крутить
Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 2
End Sub
Номер ответа: 4
Автор ответа:
Bombardier
ICQ: 42305746
Вопросов: 2
Ответов: 67
Web-сайт:
Профиль | | #4
Добавлено: 20.02.03 10:19
Номер ответа: 5
Автор ответа:
vig11
ICQ: 213777061
Вопросов: 21
Ответов: 159
Профиль | | #5
Добавлено: 20.02.03 11:46
Попробовал запустить код любезно предоставленный Alex_ . Великолепно. Отличная работа. Думаю стоило бы добавить возможность передвигать форму-текст с помощью мышки, и сделать закрытие на нажатие клавиши ESC или какой-нибудь Event. Но всё равно работа очень хорошая. Огромное спасибо.
Номер ответа: 6
Автор ответа:
Alex_
ICQ: 202830092
Вопросов: 16
Ответов: 49
Профиль | | #6
Добавлено: 20.02.03 22:26