VR
Virtual Reality On-line   VB
Новости   |     Журнал    |    Хаkер   |     Магазин   |   Проекты
[   Вход    ]
[Kарта сайтa]
[ Download  ]
[  Конкурс  ]
[  Анекдоты ]
[  Ссылки   ]
[  Реклама  ]
[ Почтальон ]
[ О проекте ]






TopList
VB.
Создание градиента
:

Перевод статьи Antony Lees "Fading The Form" Оригинал - DeveloperFusion

Что-то меня на графические издевательства потянуло. Когда-то этот пример показывал, как "залить" форму цветом-градацией от черного к светло синему. То есть создать обыкновенный градиент. На самом деле делать совковый синий градиент неинтересно, поэтому мы сделаем ярко желтый градиент.

Sub ColourFade(vForm As Form) 
   Dim intLoop As Integer 
   vForm.DrawStyle = vbInsideSolid 
   vForm.DrawMode = vbCopyPen 
   vForm.ScaleMode = vbPixels 
   vForm.DrawWidth = 2 
   vForm.ScaleHeight = 256 
   For intLoop = 0 To 255
' Функция, содержащая параметры окна.
  vForm.Line (0, intLoop)-(Screen.Width, intLoop - 1), RGB(0, 0, 255 - intLoop), B 
' Делаем линию.
' Первые два параметра - начало и конец прямой
' Третий - цвет.  
   Next intLoop 
End Sub 

Private Sub Form_Activate() 
ColourFade Me 
End Sub 
' code end

Ну, вот вроде бы все. Запускаем прогу. Проводим тест на баги. Не знаю почему, но мне захотелось ускоренно поводить окошком по экрану. После того, как окно програмы пару раз заехало за края экрана и было свернуто, от градиента не осталось и следа. Товарищ BYpasser предупреждал меня об этом довольно распространенном баге. Винда не прорисовывает элементы, находящиеся за экраном. Поэтому ставим значение параметра формы AutoRedraw = True, о чем я и написал в комментариях на DevFusion'e.

Written by U1traDIMM 02/10/2002


Copyright©: Horrific aka Флёнов Михаил
Design by FMk group©