Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 | 3 | 4 | 5 | 6 |

 

  Вопрос: Создать ActiveX, подобный объекту line Добавлено: 22.08.06 19:44  

Автор вопроса:  -АлександР- | Web-сайт: sham.clan.su
Вот сколько я не программирую на VB, никак не могу понять устройство контрола line. Как можно создать подобный? Вся его форма - это линия от и до.
Может с помощью winAPI? Помогите пожалуйста, у кого есть мысли на этот счёт...
Заранее благодарен!

Ответить

  Ответы Всего ответов: 76  

Номер ответа: 1
Автор ответа:
 Серёга



ICQ: 262809473 

Вопросов: 17
Ответов: 561
 Web-сайт: houselab.narod.ru
 Профиль | | #1
Добавлено: 22.08.06 20:37
Может с помощью winAPI?

- Может.
Private Type POINTAPI
    X As Long
    Y As Long
End Type

Private Declare Function MoveToEx Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, lpPoint As POINTAPI) As Long
Private Declare Sub LineTo Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long)

Private Sub Form_Paint()
Dim p As POINTAPI
With p
    .X = 10
    .Y = 10
End With
If MoveToEx(Me.hdc, 10, 10, p) Then LineTo Me.hdc, 200, 200
End Sub

Ответить

Номер ответа: 2
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #2
Добавлено: 22.08.06 22:18
Серега, спасибо, это весьма ценное замечание.
Но как быть с "формой" usercontrol'a? Чтобы она не моячилась тут да там? А приобрела форму этой вычерчиваемой линии?

Ответить

Номер ответа: 3
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #3
Добавлено: 23.08.06 07:08
А приобрела форму этой вычерчиваемой линии?
Наверное глупость сказал - точнне, как сделать чтобы эта форма вообще изчезла, а всё, что на ней видимо осталось и с этим можно было бы работать? Типа того - наверно это легче...

Ответить

Номер ответа: 4
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #4
Добавлено: 23.08.06 08:57
Ваще, наскоко я знаю, с помощью апишек (тех же самых, которые изменяют форму окна), можно изменить форму всего, что имеет свойство hWnd.

Ответить

Номер ответа: 5
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #5
Добавлено: 23.08.06 14:48
А можешь привести такую функцию или ключевое слово для поиска, а то где-то я видел пример - запустили форму - а она в в виде строчного текста. Я афигел! Но вот только сейчас не могу найти ничего подобного. Подкинь, пожалуйста, большая просьба

Ответить

Номер ответа: 6
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #6
Добавлено: 23.08.06 15:05
Хотя в общем нашёл http://www.vbnet.ru/forum/show.aspx?id=112859

Ответить

Номер ответа: 7
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #7 Добавлено: 23.08.06 15:38
С каких это пор Line стал оконным контролом? Жжоте, уважаемый.

Ответить

Номер ответа: 8
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #8
Добавлено: 23.08.06 15:42
С каких это пор Line стал оконным контролом?
Если подскажешь, как сделать контрол без окна, буду весьма благодарен,

Ответить

Номер ответа: 9
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #9 Добавлено: 23.08.06 16:06
А чем тебе не рулит свойство Windowless контрола?

Ответить

Номер ответа: 10
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #10
Добавлено: 23.08.06 16:59
Да оно и без него всё ещё лучше работает( когда Windowless = false).Главное backstyle = 0. Другое дело, что контролл надо растягивать на всю форму( пиктчер), чтобы линия везде рисовалась. Можно ли сделать её вообще без окна?

Ответить

Номер ответа: 11
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #11
Добавлено: 23.08.06 17:01
С каких это пор Line стал оконным контролом? Жжоте, уважаемый.

Я и ничего не говорю про Line, а имею в веду PictureBox'ы, CommandButton'ы и т. д.

p.s. В VB все кроме Line выделяется 8-ю квадратами по бокам. Возможно ли сделать контрол (к примеру, многоугольник), который выделялся бы, например, 10-ю квадратами и эти квадраты можно было такскать как угодно? Возможно ли это, или Line единственная в своем роде?

Ответить

Номер ответа: 12
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #12
Добавлено: 23.08.06 17:11
p.s. В VB все кроме Line выделяется 8-ю квадратами по бокам. Возможно ли сделать контрол (к примеру, многоугольник), который выделялся бы, например, 10-ю квадратами и эти квадраты можно было такскать как угодно? Возможно ли это, или Line единственная в своем роде?
Во! В точку!
P.S.
все кроме Line выделяется 8-ю квадратами по бокам
Только не восьмью, а четырьмя

Ответить

Номер ответа: 13
Автор ответа:
 Серёга



ICQ: 262809473 

Вопросов: 17
Ответов: 561
 Web-сайт: houselab.narod.ru
 Профиль | | #13
Добавлено: 23.08.06 18:07
Можно ли сделать её вообще без окна?

Почему бы не описать класс?

Ответить

Номер ответа: 14
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #14
Добавлено: 23.08.06 19:47
Слушай, а ты гений!

Ответить

Номер ответа: 15
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #15
Добавлено: 23.08.06 20:38
Блин, я рано обрадовался. Это будет не так-то просто потому что там нельзя просто объявить событие mousemove - его придётся описывать, а это целая история! Я когда-то пытался. Ну в принципе - это возможно. По старой памяти напишу. Но с ActiveX проще получается: там уже всё готово, только свойства порасставить и форму убрать куда-то... Или я не знаю, как это делается, но VBD правильно написал...
Возможно ли сделать контрол (к примеру, многоугольник), который выделялся бы, например, 10-ю квадратами и эти квадраты можно было такскать как угодно?
Кроме того класс это не контролл, а научиться писать такие контролы интересно.

Ответить

Страница: 1 | 2 | 3 | 4 | 5 | 6 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам