А зачем вам линия в IDE? Рисуй линию программно, тем же .Line
.line - это не контрол. У него нельзя задать толщину, разные свойства, я уж не говорю о возможности приделать к ней какое-то событие...
Хотя может она и лучше, если программировать в классе через АПИ(отв № 1), ведь тогда цвет программировать не надо... Впрочем идея с классом мне что-то все меньше нравится...
И по мере того, как я за него взялся, понял, что там дело даже не в том, чтобы составить алгоритм события mousedown, а само черчение прямой:
(пока в форме, в класс перенести всегда успею)
Option Explicit
Private Sub Form_Load()
AutoRedraw = False
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
x1 = X
y1 = Y
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
x2 = X
y2 = Y
Form1.Refresh
Line (x1, y1)-(x2, y2)
End Sub
А как сделать, чтобы он эти прямые строил поочереди? При каждой новой - чертить заново все предыдущие? (вроде так програмка Sharpa работает, которую он привёл в топике "VB и AutoCad" (форум совм. проект)) Нет уж спасибо...
Возможности ограниченные у вб, хуки на то что хочеться легко не ставятся, поэтому я с ними не дружу...
Ещё есть в боксе приём такой, так что имеем ввиду
#11
С каких это пор Line стал оконным контролом? Жжоте, уважаемый.
Я и ничего не говорю про Line, а имею в веду PictureBox'ы, CommandButton'ы и т. д.
p.s. В VB все кроме Line выделяется 8-ю квадратами по бокам. Возможно ли сделать контрол (к примеру, многоугольник), который выделялся бы, например, 10-ю квадратами и эти квадраты можно было такскать как угодно? Возможно ли это, или Line единственная в своем роде?
Line выделяется 10 квадратиками???
line - это не контрол. У него нельзя задать толщину
Не контрол, но толщину задать можно помойму.. Там у линии помимо координат ещё много параметров...
Пойми, мы сейчас пишем контрол на VB6, чтоб под VB.Net работала. Там GDI+ , который не переваривает GDI
Что-то интересное вы там пишите...
В VB .NET есть GDI+, но возможность работы с GDI тоже кстати есть и два этих механизма можно использовать вместе, если, конечно, есть смысл (я считаю, что смысла нет)
Ни один нормальный человек не будет в Vb .NET использовать контрол-линию, написаную на VB6.
Это же абсурд!
Я лучше напишу пару вызовов System.Drawing, чем получить себе отличный геморой в виде COM Interrop! Вы вообще представляете, как это - использовать Vb-шный контрол? Тормоза и глюки в разных пропорциях будут гарантированы.
Вы, ребята, немного оторвались от реальности.
Нафига вы вообще эту байду пишите? Кому она нужна?