Графика в VB6

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

Графика в VB6

Сообщение fizik_leha » 27.12.2004 (Пн) 17:08

Можно ли в VB Рисовать с помощью Line или Circle Пунктирной линией?

И вобще буду очень благодарен за полный синтаксис графических команд VB.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.12.2004 (Пн) 17:12

Да легко...

1. DrawStyle проперть зацени...
2. Line (X1, Y1) - (X2, Y2)[, color[, B[F]]]
Circle (X, Y), Radius[, color]
Cls :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 27.12.2004 (Пн) 17:13

BorderStyle=2

fizik_leha
Обычный пользователь
Обычный пользователь
 
Сообщения: 76
Зарегистрирован: 02.09.2004 (Чт) 14:08

Сообщение fizik_leha » 27.12.2004 (Пн) 17:17

Спасибо...
Хотелось бы узнать что это за зверь такой - Drawstyle? У меня в списке методов его нет...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.12.2004 (Пн) 17:19

me.drawstyle
Или в дизайнере...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 27.12.2004 (Пн) 17:22

наверное все-таки BorderStyle (2 - Dash)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.12.2004 (Пн) 17:25

Причём здесь Border? :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 27.12.2004 (Пн) 17:28

у стандартных контролов (Line, Shape) - BorderStyle,
а для команд графики - DrawStyle

я про стандартные контролы писал, сорри

fizik_leha
Обычный пользователь
Обычный пользователь
 
Сообщения: 76
Зарегистрирован: 02.09.2004 (Чт) 14:08

Сообщение fizik_leha » 27.12.2004 (Пн) 17:31

Спасибо, помогло Drawstyle = 2 :)
А сколько у него вообще значений?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.12.2004 (Пн) 17:32

Списочек смотри в дизайнере...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

SHURUP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 440
Зарегистрирован: 15.09.2004 (Ср) 14:24
Откуда: Ирпень, Украина

Сообщение SHURUP » 29.12.2004 (Ср) 2:13

А если надо штрихи (интервалы меж ними) делать длинее (короче) - тады как? Ато у меня что-то не выходило.
Нам чужого не надо, но своё мы возьмем, чьё бы оно ни было...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 29.12.2004 (Ср) 8:16

Можно через ExtCreatePen (PS_USERSTYLE). Пример:
Код: Выделить всё
Option Explicit
Private Type LOGBRUSH
    lbStyle As Long
    lbColor As Long
    lbHatch As Long
End Type
Private Declare Function ExtCreatePen Lib "gdi32" (ByVal dwPenStyle As Long, ByVal dwWidth As Long, lplb As LOGBRUSH, ByVal dwStyleCount As Long, lpStyle As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Const BS_SOLID = 0&
Private Const PS_COSMETIC = 0&
Private Const PS_USERSTYLE = 7&
Private OldPen As Long

Private Sub Form_Load()
Dim lb As LOGBRUSH, Lengths(4) As Long
lb.lbColor = 0
lb.lbStyle = BS_SOLID
Lengths(1) = 10
Lengths(2) = 3
Lengths(3) = 5
Lengths(4) = 3
OldPen = SelectObject(hdc, ExtCreatePen(PS_COSMETIC Or PS_USERSTYLE, 1, lb, 4, Lengths(1)))
End Sub

Private Sub Form_Unload(Cancel As Integer)
DeleteObject SelectObject(hdc, OldPen)
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Line (0, 0)-(X, Y)
End Sub
Изображение


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10

    TopList