Как организовать красивое появление формы!

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
step
Бывалый
Бывалый
 
Сообщения: 217
Зарегистрирован: 03.08.2004 (Вт) 16:19

Как организовать красивое появление формы!

Сообщение step » 12.06.2005 (Вс) 4:55

Как организовать красивое появление формы!
Например как у Alex Soft??
Заранее всем огромное спасибо!

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 12.06.2005 (Вс) 7:29

Попробуй AnimateWindow.
الفيجوال بيسك الرابح

step
Бывалый
Бывалый
 
Сообщения: 217
Зарегистрирован: 03.08.2004 (Вт) 16:19

Сообщение step » 12.06.2005 (Вс) 9:07

Не, это не то! Я имею ввиду, типо по пикселям, или из кусочков, и т.д.?

Prickly
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 82
Зарегистрирован: 07.10.2004 (Чт) 18:44
Откуда: From Russia

Сообщение Prickly » 12.06.2005 (Вс) 21:22

Попробуй использовать регионы.

Код: Выделить всё
CreateRectRgn
Не было бы Гейтса, не было бы нас!

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 12.06.2005 (Вс) 23:26

Ну вот есть одна идейка с прозрачностью.

Медленное появление из пустоты :)

http://bbs.vbstreets.ru/viewtopic.php?t ... windowlong

Alexander N. Samarin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 397
Зарегистрирован: 05.03.2005 (Сб) 20:59
Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине

Сообщение Alexander N. Samarin » 13.06.2005 (Пн) 9:10

То есть уменьшать прзрачность окна?
На это не смотрите! Это не подпись!!!!!!

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 13.06.2005 (Пн) 14:02

Вот немного исправленный вариант:

Код: Выделить всё
Option Explicit

Const LWA_ALPHA = &H2
Const GWL_EXSTYLE = (-20)
Const WS_EX_LAYERED = &H80000

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long


Private Sub Form_Activate()
Dim lRet As Long

For lRet = 1 To 255 Step 16
    SetLayeredWindowAttributes hWnd, 0, lRet, LWA_ALPHA
    DoEvents
    Sleep 25
Next lRet

SetWindowLong hWnd, GWL_EXSTYLE, GetWindowLong(hWnd, GWL_EXSTYLE) And Not WS_EX_LAYERED

End Sub

Private Sub Form_Load()

SetWindowLong hWnd, GWL_EXSTYLE, GetWindowLong(hWnd, GWL_EXSTYLE) Or WS_EX_LAYERED
SetLayeredWindowAttributes hWnd, 0, 1, LWA_ALPHA

End Sub

step
Бывалый
Бывалый
 
Сообщения: 217
Зарегистрирован: 03.08.2004 (Вт) 16:19

Сообщение step » 13.06.2005 (Пн) 18:15

X-BOND
Да прикольно, спасиб!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 179

    TopList