Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Прикольно! Добавлено: 27.09.04 07:52  

Автор вопроса:  Mihalыch | ICQ: 373-509-101 
Киньте на форму PictureBox поместите в него картинку, у формы св-во формы AutoRedraw = True, св-во PictureBox Visible = False, добавьте Timer.

Option Explicit
  Dim newInd As Integer
  Dim Step As Integer
  Dim newValue As Long
  Private Declare Function AlphaBlend Lib "msimg32" (ByVal hDestDC As Long, _
  ByVal x As Long, _
  ByVal y As Long, _
  ByVal nWidth As Long, _
  ByVal nHeight As Long, _
  ByVal hSrcDC As Long, _
  ByVal xSrc As Long, _
  ByVal ySrc As Long, _
  ByVal widthSrc As Long, _
  ByVal heightSrc As Long, _
  ByVal dreamAKA As Long) As Long
Private Sub Form_Load()
    newInd = 255
    Step = 3
    Form1.Width = Picture1.Width: Form1.Height = Picture1.Height
End Sub

Private Sub Timer1_Timer()
    newValue = vbBlue - newInd * (vbYellow + 1)
    newInd = newInd - Step
    If newInd - Step <= 0 Or newInd - Step >= 255 Then Step = Step * -1
    Form1.Cls
    AlphaBlend Form1.hDC, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, Picture1.hDC, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, newValue
End Sub

Пример с www.vbstreets.ru.

Ответить

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

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



Вопросов: 30
Ответов: 683
 Профиль | | #1 Добавлено: 27.09.04 15:21
Ни хрена не работает...

Ответить

Номер ответа: 2
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #2
Добавлено: 27.09.04 15:30
И чего это получится (нет VB под рукой)? Мне так кажется, что переливающаяся прозрачность. Написал бы, что-ли. А то получился какой-то ответ, не имеющий вопроса :)

Ответить

Номер ответа: 3
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #3
Добавлено: 27.09.04 15:34
> Ни хрена не работает...
:)

msimg32 - "GDIEXT Client DLL" в Win2k

Ответить

Номер ответа: 4
Автор ответа:
 Mihalыch



ICQ: 373-509-101 

Вопросов: 56
Ответов: 330
 Профиль | | #4 Добавлено: 27.09.04 16:11
Блин не учел.... У PictureBox'a св-во ScaleMode = 3. Теперь должно сработать. СОРИ!!!

Ответить

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



Разработчик Offline Client

Вопросов: 47
Ответов: 621
 Web-сайт: intermult.boom.ru
 Профиль | | #5
Добавлено: 27.09.04 16:35
Сделал - нифига. Форма свернулась до размера заголовка и все :(
А у формы ScaleMode = 3 не надо?

Ответить

Номер ответа: 6
Автор ответа:
 Mihalыch



ICQ: 373-509-101 

Вопросов: 56
Ответов: 330
 Профиль | | #6 Добавлено: 27.09.04 16:42
У формы нет, это так просто, для аккуратности внешнего вида, эту строку можно вообще выкинуть. Вот блин послал пример. Так на всякий случай, получается как написал mc-black переливающаяся прозрачность.
З.Ы. Меня не будет часа 2-3, если не пойдет, пишите, приду, посмотрю. Эффект получается действительно прикольный. То же можно сделать и на другом PictureBox’е

Ответить

Номер ответа: 7
Автор ответа:
 Barsik



Разработчик Offline Client

ICQ: 343368641 

Вопросов: 17
Ответов: 686
 Web-сайт: barsik.newmail.ru
 Профиль | | #7
Добавлено: 27.09.04 18:30
Непонимаю зачем было в пикчербокс картинку пихать???

Ответить

Номер ответа: 8
Автор ответа:
 ZoomerSD



ICQ: 148640473 

Вопросов: 135
Ответов: 270
 Профиль | | #8 Добавлено: 27.09.04 20:23
если вдруг кто-то ещё не догодался, надо поставить у таймера интервал, и всё сработает...

Ответить

Номер ответа: 9
Автор ответа:
 Barsik



Разработчик Offline Client

ICQ: 343368641 

Вопросов: 17
Ответов: 686
 Web-сайт: barsik.newmail.ru
 Профиль | | #9
Добавлено: 27.09.04 21:54
если вдруг кто-то ещё не догодался, надо поставить у таймера интервал, и всё сработает...


дык а подругому как???

Ответить

Номер ответа: 10
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #10 Добавлено: 27.09.04 22:25
Не, слишком просто.
Надо бы чо-нить покруче...

Ответить

Номер ответа: 11
Автор ответа:
 ZagZag



ICQ: 295002202 

Вопросов: 87
Ответов: 1684
 Профиль | | #11 Добавлено: 28.09.04 13:41
Починил, запустил
Закомментил изм. размера формы
Поставил интервал таймера
Поставил у Picture ScaleMode = 3
Поставил Picture Visible = True
Приклольно! Еще прикольней то, что когда на форме отображается 1/2 картинки,
то остальная половина берется вне формы и отображается как недостающая часть
рисунка (Это наверно недочет AlphaBlend) :)

Ответить

Страница: 1 |

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



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