Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: два интересных вопроса по работе с формами Добавлено: 31.07.03 19:57  

Автор вопроса:  netracer | Web-сайт: netracer.h11.ru | ICQ: 8575243 

как сделать форму прозрачной?

как сделать форму поверх всех окон, в т.ч. таскбара?

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 Alperium



Вопросов: 9
Ответов: 18
 Профиль | | #1 Добавлено: 01.08.03 00:17
Смотри Библиотеку Кодов,там есть!

Ответить

Номер ответа: 2
Автор ответа:
 netracer



ICQ: 8575243 

Вопросов: 7
Ответов: 36
 Web-сайт: netracer.h11.ru
 Профиль | | #2
Добавлено: 01.08.03 11:57

Прозарчность оттуда у меня ен заработала, а поверх всех окон я там не видел...

Ответить

Номер ответа: 3
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #3
Добавлено: 01.08.03 20:57

Вот пример, демонстрирующий и то, и другое (скомпилированный в km.exe - замечательная шутка над владельцем Win9x :D):

Private Declare Function SelectClipPath Lib "gdi32" (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 Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Private Const HWND_NOTOPMOST = -2

Private Const HWND_TOPMOST = -1

Private Const SWP_NOACTIVATE = &H10

Private Const SWP_NOMOVE = &H2

Private Const SWP_NOSIZE = &H1

Private Const RGN_COPY = 5

Private Sub Form_Load()

Const TXT = "Kylie Minogue" & vbCrLf & " The BEST!"

Dim hRgn As Long

Font.Name = "Verdana"

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

Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 2

SetFormPosition Me.hwnd, True

End Sub

Private Sub SetFormPosition(frmHandl As Long, TopPosition As Boolean)

If TopPosition Then

SetWindowPos frmHandl, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_NOSIZE Or SWP_NOMOVE

Else

SetWindowPos frmHandl, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE

End If

End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)

Shell App.Path & "\km.exe", vbNormalFocus

End Sub

Вместо BeginPath и EndPath можно использовать CreateEllipticRgn etc (Create****Rgn)...

Успеха!

Ответить

Номер ответа: 4
Автор ответа:
 netracer



ICQ: 8575243 

Вопросов: 7
Ответов: 36
 Web-сайт: netracer.h11.ru
 Профиль | | #4
Добавлено: 02.08.03 13:01

Да, но... Мне нужно, чтобы фон формы был прозрачным, а видны были ЭУ...

Ответить

Номер ответа: 5
Автор ответа:
 netracer



ICQ: 8575243 

Вопросов: 7
Ответов: 36
 Web-сайт: netracer.h11.ru
 Профиль | | #5
Добавлено: 04.08.03 17:09

почему никто не отвечает?

должны быть видны контролы - всё остальное - (полу)прозрачное!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам