Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
kif
-
- Постоялец
![Постоялец Постоялец](./images/ranks/rank5.gif)
-
-
- Сообщения: 736
- Зарегистрирован: 10.12.2001 (Пн) 18:06
- Откуда: Украина, Одесса
-
kif » 31.03.2005 (Чт) 15:26
Воспользовался поиском (ключевое слово градиент) - ничего нет.
Вопрос, как участок формы залить градиентом
![Question :?:](./images/smilies/icon_question.gif)
Братья и сестры, что вы делаете???
Ведь вы же братья и сестры.
-
Arcanoid
-
- Продвинутый пользователь
![Продвинутый пользователь Продвинутый пользователь](./images/ranks/rank3.gif)
-
![Аватара пользователя](./download/file.php?avatar=6045.jpg)
-
- Сообщения: 162
- Зарегистрирован: 01.01.2005 (Сб) 15:44
Arcanoid » 31.03.2005 (Чт) 15:30
Сам не пробовал, но есть соображения:
может задать окну регион (Rgn) и вызвать какую-нибудь там GradientFill().. ????
-
Шурик
-
- Самогонщик
![Самогонщик Самогонщик](./images/ranks/rank14.gif)
-
![Аватара пользователя](./download/file.php?avatar=3055.gif)
-
- Сообщения: 1657
- Зарегистрирован: 30.06.2003 (Пн) 13:27
- Откуда: из запоя :))))) Матных сообщений: 972
-
Шурик » 31.03.2005 (Чт) 15:30
А часть - прямоугольная???
-
kif
-
- Постоялец
![Постоялец Постоялец](./images/ranks/rank5.gif)
-
-
- Сообщения: 736
- Зарегистрирован: 10.12.2001 (Пн) 18:06
- Откуда: Украина, Одесса
-
kif » 31.03.2005 (Чт) 15:35
Шурик писал(а):А часть - прямоугольная???
Да, прямоугольная.
Братья и сестры, что вы делаете???
Ведь вы же братья и сестры.
-
BV
-
- Thinker
![Thinker Thinker](./images/ranks/rank_bv.gif)
-
![Аватара пользователя](./download/file.php?avatar=5332_1390167094.jpg)
-
- Сообщения: 3987
- Зарегистрирован: 12.09.2004 (Вс) 0:55
- Откуда: Молдавия, г. Кишинёв
-
BV » 31.03.2005 (Чт) 15:53
Вот так:
- Код: Выделить всё
Private Function DrawBackGround(ByVal hCanvas As Object, ByVal lRedStart As Long, ByVal lGreenStart As Long, ByVal lBlueStart As Long, _
ByVal lRedEnd As Long, ByVal lGreenEnd As Long, ByVal lBlueEnd As Long, Optional ByVal lBandHeight As Long = 2)
Dim sngRedCur As Single
Dim sngRedStep As Single
Dim sngGreenCur As Single
Dim sngGreenStep As Single
Dim sngBlueCur As Single
Dim sngBlueStep As Single
Dim lCanvasHeight As Long
Dim lCanvasWidth As Long
Dim lY As Long
Dim iRed As Single
Dim iBlue As Single
Dim iGreen As Single
lCanvasHeight = hCanvas.ScaleHeight
lCanvasWidth = hCanvas.ScaleWidth
sngRedStep = lBandHeight * (lRedEnd - lRedStart) / lCanvasHeight
sngRedCur = lRedStart
sngGreenStep = lBandHeight * (lGreenEnd - lGreenStart) / lCanvasHeight
sngGreenCur = lGreenStart
sngBlueStep = lBandHeight * (lBlueEnd - lBlueStart) / lCanvasHeight
sngBlueCur = lBlueStart
For lY = 0 To lCanvasHeight Step lBandHeight
iRed = sngRedCur
iGreen = sngGreenCur
iBlue = sngBlueCur
hCanvas.Line (-1, lY - 1)-(lCanvasWidth, lY + lBandHeight), RGB(iRed, iGreen, iBlue), BF
sngRedCur = sngRedCur + sngRedStep
sngGreenCur = sngGreenCur + sngGreenStep
sngBlueCur = sngBlueCur + sngBlueStep
Next lY
End Function
-
kif
-
- Постоялец
![Постоялец Постоялец](./images/ranks/rank5.gif)
-
-
- Сообщения: 736
- Зарегистрирован: 10.12.2001 (Пн) 18:06
- Откуда: Украина, Одесса
-
kif » 31.03.2005 (Чт) 16:39
а что означают параметры lRedStart и т.д.
Братья и сестры, что вы делаете???
Ведь вы же братья и сестры.
-
Шурик
-
- Самогонщик
![Самогонщик Самогонщик](./images/ranks/rank14.gif)
-
![Аватара пользователя](./download/file.php?avatar=3055.gif)
-
- Сообщения: 1657
- Зарегистрирован: 30.06.2003 (Пн) 13:27
- Откуда: из запоя :))))) Матных сообщений: 972
-
Шурик » 31.03.2005 (Чт) 17:44
- Код: Выделить всё
Dim r, g, b stp As Integer
Dim x1, y1, x2, y2 As Long
Private Sub Form_Load()
Form1.AutoRedraw = True
Form1.ScaleMode = 3
r = 0: g = 0: b = 0: stp = 1
x1 = 0: y1 = 0: x2 = 100: y2 = 0
For i = 0 To 255 Step stp
Line (x1, y1 + i)-(x2, y2 + i), RGB(r + i, g, b)
Next i
End Sub
-
Faust
-
- Постоялец
![Постоялец Постоялец](./images/ranks/rank5.gif)
-
![Аватара пользователя](./download/file.php?avatar=3835.jpg)
-
- Сообщения: 649
- Зарегистрирован: 29.12.2003 (Пн) 13:38
- Откуда: лаборатория
-
Faust » 31.03.2005 (Чт) 18:29
IMHO, неплохой пример приведен в API-Guid'e. Быстродействие у API скорее всего поболя будет.
Листинги не горят!
-
Шурик
-
- Самогонщик
![Самогонщик Самогонщик](./images/ranks/rank14.gif)
-
![Аватара пользователя](./download/file.php?avatar=3055.gif)
-
- Сообщения: 1657
- Зарегистрирован: 30.06.2003 (Пн) 13:27
- Откуда: из запоя :))))) Матных сообщений: 972
-
Шурик » 01.04.2005 (Пт) 10:40
Если размер прямоугольной области не очень большой, вряд ли ты заметишь разницу в скорости.
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: AhrefsBot, Google-бот, Yandex-бот и гости: 66