Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
Sedge
-
- Alternative Choice

-

-
- Сообщения: 1049
- Зарегистрирован: 16.05.2002 (Чт) 18:23
- Откуда: Somewhere-In-The-Net
Sedge » 14.04.2003 (Пн) 21:52
Если кто знает, подскажите, плиз, можно ли в PictureBox-е "заливать" нарисованные фигуры каким-нибудь левым фоновым рисунком?
-
Gemini
-
- Постоялец

-

-
- Сообщения: 390
- Зарегистрирован: 24.07.2002 (Ср) 14:15
- Откуда: Ozersk
-
Gemini » 15.04.2003 (Вт) 7:58
Если это то что тебе надо то помойму на
www.planet-source-code.com были исходники рисовалки иконок.
-
Sedge
-
- Alternative Choice

-

-
- Сообщения: 1049
- Зарегистрирован: 16.05.2002 (Чт) 18:23
- Откуда: Somewhere-In-The-Net
Sedge » 15.04.2003 (Вт) 11:24
Я не нашел

У тебя нет более точной ссылки?
Задача в следующем - рисуем например квадрат. Я могу его залить любым цветом и закрасить одним из предопределенных рисунков (допустим, штриховка сверху-вниз). Но это не подходит. Нужно взять рисунок из bmp-файла и использовать его как заливку для квадрата. Как это можно сдкелать? Если можно, то с примером

-
Firestorm
-
- Постоялец

-

-
- Сообщения: 946
- Зарегистрирован: 02.05.2002 (Чт) 14:36
- Откуда: Russia
-
Firestorm » 15.04.2003 (Вт) 11:35
на vbstreets.ru был пример хорошего редактора иконок... microart называется...
ищи

...просто гламурный падонак...
_________________
reborn! v.2
_________________
-
Mikle
-
- Изобретатель велосипедов

-

-
- Сообщения: 4158
- Зарегистрирован: 25.03.2003 (Вт) 14:02
- Откуда: Туапсе
Mikle » 15.04.2003 (Вт) 17:03
Квадрат (прямоугольник) залить легко:
Picture1.PaintPicture LoadPicture("...myfile.bmp", ....... )
-
Trojan Lord
-
- Обычный пользователь

-
-
- Сообщения: 66
- Зарегистрирован: 05.04.2003 (Сб) 19:07
Trojan Lord » 15.04.2003 (Вт) 18:42
- Код: Выделить всё
picture1.picture=loadpicture ("c:\мои документы\картинка.bmp"
Не важно на каком языке ты пишешь, главное - Алгоритм.
-
Sedge
-
- Alternative Choice

-

-
- Сообщения: 1049
- Зарегистрирован: 16.05.2002 (Чт) 18:23
- Откуда: Somewhere-In-The-Net
Sedge » 16.04.2003 (Ср) 17:32
А если круг? Или треугольник? Необходимо обеспечить таким образом заливку любой фигуры.
-
Sedge
-
- Alternative Choice

-

-
- Сообщения: 1049
- Зарегистрирован: 16.05.2002 (Чт) 18:23
- Откуда: Somewhere-In-The-Net
Sedge » 30.04.2003 (Ср) 20:07
Н-да... Ну ладно, ежели кому интересно...
- Код: Выделить всё
Private Const SRCPAINT& = &HEE0086
Private Const SRCCOPY& = &HCC0020
Private Const SRCAND& = &H8800C6
Private Const SRCERASE& = &H440328
Private Const SRCINVERT& = &H660046
Private Const TRANSPARENT& = 1
Private Const RGN_COPY& = 5
Private Const RGN_AND& = 1
Private Const RGN_DIFF& = 4
Private Const RGN_XOR& = 3
Private Const RGN_OR& = 2
Private Const BLACK_BRUSH = 4
Private Const BLACK_PEN = 7
Private Const PS_SOLID = 0
Private Const PS_DASH = 1 ' -------
Private Const PS_DOT = 2 ' .......
Private Const PS_DASHDOT = 3 ' _._._._
Private Const PS_DASHDOTDOT = 4 ' _.._.._
Private Const PS_NULL = 5
Private Const PS_INSIDEFRAME = 6
Private Const PS_USERSTYLE = 7
Private Const PS_ALTERNATE = 8
Private Const PS_STYLE_MASK = &HF
Private Declare Function SaveDC Lib "gdi32" _
(ByVal hdc As Long) As Long
Private Declare Function RestoreDC Lib "gdi32" _
(ByVal hdc As Long, ByVal nSavedDC 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 SelectClipPath Lib "gdi32" _
(ByVal hdc As Long, ByVal iMode As Long) As Long
Private Declare Function SelectClipRgn Lib "gdi32" _
(ByVal hdc As Long, ByVal hRgn As Long) As Long
Dim Res As Long
Dim Sav As Long
Sav = SaveDC(picOut.hdc)
Call SelectClipRgn(picOut.hdc, 0)
Res = BeginPath(picOut.hdc)
picOut.Circle (100, 100), 40, vbBlack
Res = EndPath(picOut.hdc)
Res = SelectClipPath(picOut.hdc, RGN_COPY)
Call picOut.PaintPicture(picBG.Picture, _
40, 55, picBG.ScaleWidth, _
picBG.ScaleHeight, 0, 0, _
picBG.ScaleWidth, picBG.ScaleHeight)
Res = RestoreDC(picOut.hdc, Sav)
Если надо, могу отмылить пример.
-
Max!
-
- Постоялец

-

-
- Сообщения: 502
- Зарегистрирован: 03.04.2003 (Чт) 22:08
- Откуда: Литва
Max! » 30.04.2003 (Ср) 21:05
Попробуи так :
Создаи форму и размести TextBox и назави его например "Box1"
потом размести на форме два ListBox'а один назави например "lst1" другои "lst2" Затем пиши в форму такои код:
- Код: Выделить всё
Private Sub Form_Load()
'Инициализация раскрывающегося списка lst1
lst1.AddItem "1 - Oval"
lst1.AddItem "2 - Square"
'Инициализация раскрывающегося списка lst2
lst2.AddItem "1 - Solid"
lst2.AddItem "2 - Transparent"
lst2.AddItem "3 - Horizontal Line"
lst2.AddItem "4 - Vertical Line"
lst2.AddItem "5 - Cross"
'Установим начальные значения для каждого сиска
lst1.ListIndex = 0
lst2.ListIndex = 0
Потом нажми два раза на lst2 и в правом раскрывающемся окне выбери событие Click и пеши такои код:
'Изменить вид в соответствии с выбором
Private Sub lst2_Click()
shpSample.FillStyle = lst2.ListIndex
End Sub
Вот и всё!

Max!
-
Max!
-
- Постоялец

-

-
- Сообщения: 502
- Зарегистрирован: 03.04.2003 (Чт) 22:08
- Откуда: Литва
Max! » 30.04.2003 (Ср) 21:22
Ах да забыл код для lst1 !
Вот
- Код: Выделить всё
Сделаи ту же операцию что и в первом , правом раскрывающемся окне выбери событие Click!
Private Sub lst1_Click()
shpSample.Shape = lst1.ListIndex
End Sub

Max!
-
Max!
-
- Постоялец

-

-
- Сообщения: 502
- Зарегистрирован: 03.04.2003 (Чт) 22:08
- Откуда: Литва
Max! » 01.05.2003 (Чт) 17:49
Max!
-
Max!
-
- Постоялец

-

-
- Сообщения: 502
- Зарегистрирован: 03.04.2003 (Чт) 22:08
- Откуда: Литва
Max! » 01.05.2003 (Чт) 23:28
Если ты про help который в VB есть то я если честно не знал что там даётся такои пример !
Max!
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: AhrefsBot, SemrushBot, Yandex-бот и гости: 1