Добавить событие к объекту

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
VB-constructor
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 160
Зарегистрирован: 24.07.2006 (Пн) 21:37
Откуда: Ростов-на-Дону

Добавить событие к объекту

Сообщение VB-constructor » 22.08.2006 (Вт) 18:52

Добавить событие к объекту... line. Хотя бы мысль на этот счёт? Я что-то не пойму, это вообще возможно?
Скажет кто-нибудь?
Человек рождён для того, чтобы достичь жизни...

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 22.08.2006 (Вт) 19:13

public event Tralala()
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

VB-constructor
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 160
Зарегистрирован: 24.07.2006 (Пн) 21:37
Откуда: Ростов-на-Дону

Сообщение VB-constructor » 22.08.2006 (Вт) 19:37

А добавить событие на объект line?
Чтобы типа
Код: Выделить всё
private sub line1_MouseMove(button as integer и т. д.)
'код
end sub

Потому что
public event Tralala()
Это не выход, как его использовать-то? Событие, которое мне нужно - уже объявлено. Нужно его привязать объекту что ли.
P/ S Пoмoгите, <pls>
Человек рождён для того, чтобы достичь жизни...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 22.08.2006 (Вт) 19:41

VB-constructor
Да нельзя сделать Line событие. Это не контролл вообще.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

VB-constructor
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 160
Зарегистрирован: 24.07.2006 (Пн) 21:37
Откуда: Ростов-на-Дону

Сообщение VB-constructor » 22.08.2006 (Вт) 21:07

А как можно сделать что-либо подобное? Есть предложения?
Человек рождён для того, чтобы достичь жизни...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 22.08.2006 (Вт) 21:08

конечно есть. предложенение всегда есть. Но рассказывать долго.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

VB-constructor
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 160
Зарегистрирован: 24.07.2006 (Пн) 21:37
Откуда: Ростов-на-Дону

Я понимаю, что время деньги...

Сообщение VB-constructor » 22.08.2006 (Вт) 21:13

Ну а намёк?
Человек рождён для того, чтобы достичь жизни...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 22.08.2006 (Вт) 21:18

Намёков нет. Выложу весь способ. Вопрос только куда - сюда или в ICQ ?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 22.08.2006 (Вт) 21:30

Это не контролл вообще
Это котнрол, кстати ;) Он не имеет окна, но это еще не значит что это не котрол.
Доказательство:
Код: Выделить всё
MsgBox TypeOf Line1 Is Control
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 22.08.2006 (Вт) 21:34

не... я думал свойства Top, Left, Width, height наслудуются от базового класса для контролла.

Ну согласись, что всё таки это не контрол :lol:
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 22.08.2006 (Вт) 21:40

Хакер писал(а):Вопрос только куда - сюда или в ICQ ?
Естественно сюда. Завтра еще кто-нить лайну событие захочет добавить и что? VB-constructor-у в аську стучаться?
Никогда не откладывай на завтра то, что можно ... отложить на послезавтра!

VB-constructor
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 160
Зарегистрирован: 24.07.2006 (Пн) 21:37
Откуда: Ростов-на-Дону

Сообщение VB-constructor » 22.08.2006 (Вт) 21:51

Давай лучше сюда
Человек рождён для того, чтобы достичь жизни...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 23.08.2006 (Ср) 7:31

Хакер писал(а):Ну согласись, что всё таки это не контрол :lol:

Контрол. LW-контрол.
Lasciate ogni speranza, voi ch'entrate.

VB-constructor
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 160
Зарегистрирован: 24.07.2006 (Пн) 21:37
Откуда: Ростов-на-Дону

Сообщение VB-constructor » 23.08.2006 (Ср) 13:56

Контрол. LW-контрол.
Так значит можно как-нибудь к нему добавить событие или написать контрол подобный лайн?
Человек рождён для того, чтобы достичь жизни...

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

Сообщение Konst_One » 23.08.2006 (Ср) 14:05

сделай свой OCX на его основе и добавь туда нужные тебе события :D

VB-constructor
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 160
Зарегистрирован: 24.07.2006 (Пн) 21:37
Откуда: Ростов-на-Дону

Сообщение VB-constructor » 23.08.2006 (Ср) 14:50

Ну в общем-то это и есть наверно единственное решение. помещаю линию на usercontrol, аишу события... И всё бы хорошо - но одна проблема: как сделать, чтобы форма usercontrola стала невидимой или исчезла, а с видимым элементом на ней можно было работать? Скажите пожалуйста :?:
Человек рождён для того, чтобы достичь жизни...

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

Сообщение tyomitch » 23.08.2006 (Ср) 14:56

BackStyle: 0 - Transparent
Изображение

VB-constructor
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 160
Зарегистрирован: 24.07.2006 (Пн) 21:37
Откуда: Ростов-на-Дону

Сообщение VB-constructor » 23.08.2006 (Ср) 16:01

tyomitch, ты гений!
Всё работает и только одно смущает очень сильно ( и этим оно уступает linу как контролл): чтобы линия везде рисовалась, нужно растягивать форму контрола( хоть и прозрачного) на всё окно?
Т.к за пределами формы своего контрола она как ни крути она отображаться не хочет.
Человек рождён для того, чтобы достичь жизни...

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

Сообщение tyomitch » 23.08.2006 (Ср) 16:24

Из Property Let для Xn, Yn позиционируй свой контрол по родительской форме, как угодно душе.
Изображение

VB-constructor
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 160
Зарегистрирован: 24.07.2006 (Пн) 21:37
Откуда: Ростов-на-Дону

Сообщение VB-constructor » 23.08.2006 (Ср) 19:24

Ну а как там описать, что контрол должен с самого начала ложиться по всей форме(если я правильно понял)?
Вообще я привык пользоваться свойствами top и left, чтобы поместить верхний угол в начало координат. А внутри кода контролаа этих свойств нету (есть только - width и top).
Человек рождён для того, чтобы достичь жизни...

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

Сообщение tyomitch » 23.08.2006 (Ср) 19:41

Они у объекта Extender.
А растягивать его сразу на всю форму тебе и не нужно.
Изображение

VB-constructor
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 160
Зарегистрирован: 24.07.2006 (Пн) 21:37
Откуда: Ростов-на-Дону

Сообщение VB-constructor » 23.08.2006 (Ср) 19:58

Они у объекта Extender
Да че то не пашет :?:
Короче даю код:
(Visual Basic)
Код: Выделить всё
Public Property Let firstX(ByVal New_firstX As Single)
    m_firstX = New_firstX
    PropertyChanged "firstX"
    UserControl.Extender.Top = m_firstX
End Property
Вот так ты себе всё это представляешь?
P.S. А как все делают нормальную подсветку при выводе кода, чтобы родные комманды Visual Basic синие были?
Человек рождён для того, чтобы достичь жизни...

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

Сообщение tyomitch » 23.08.2006 (Ср) 20:12

Угу, примерно. А что не так?

Подсветку кода нормальную ещё не сделали.
Изображение

VB-constructor
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 160
Зарегистрирован: 24.07.2006 (Пн) 21:37
Откуда: Ростов-на-Дону

Сообщение VB-constructor » 23.08.2006 (Ср) 21:11

Не знаю, не работает. Вобщем гляди:
Поставил я свой юзерконтрол на форму, чтобы top > 0 и написал в код формы
Код: Выделить всё
Private Sub Command1_Click()
UserControl11.firstX = 0
End Sub
По идее должен автоматически дотянуть сонтрол до нача координат формы( правильно же я понял?)
Ну он не делает.
P/s Может весь код написать?
PP/s Кстати, куда хакер делся? Вроде б выложить что-то хотел?
Человек рождён для того, чтобы достичь жизни...

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

Сообщение tyomitch » 23.08.2006 (Ср) 21:13

Не дотянуть, а переместить. Height же не меняется.
Изображение

VB-constructor
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 160
Зарегистрирован: 24.07.2006 (Пн) 21:37
Откуда: Ростов-на-Дону

Сообщение VB-constructor » 23.08.2006 (Ср) 21:27

Ну или переместить - факт остаётся фактом, к началу он не передвигается (линия так и отсекается на том месте, где до runа была граница контрола)
Человек рождён для того, чтобы достичь жизни...

VB-constructor
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 160
Зарегистрирован: 24.07.2006 (Пн) 21:37
Откуда: Ростов-на-Дону

Сообщение VB-constructor » 24.08.2006 (Чт) 13:41

А вообше как ещё можно работать с формой контрола? Можно через АПИ может быть?

Короче, вот приложение:
Вложения
lineControl.rar
Ну вобщем тот код, кот. я написал
(2.55 Кб) Скачиваний: 33
Человек рождён для того, чтобы достичь жизни...

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

Сообщение tyomitch » 24.08.2006 (Чт) 18:03

в ReadProperties пиши не в m_firstX, а в firstX
Изображение

VB-constructor
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 160
Зарегистрирован: 24.07.2006 (Пн) 21:37
Откуда: Ростов-на-Дону

Сообщение VB-constructor » 24.08.2006 (Чт) 19:01

Ты гений! Всё получилось, спасибо!
Кстати, m_firstX сам бейсик автоматически пишет. Он же должен всё правильно делать?
Человек рождён для того, чтобы достичь жизни...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 24.08.2006 (Чт) 21:24

Как же я мог забыть выложить сюда пример :cry:
И, блин, ведь всё без меня сделали.
Пойду застрелюсь...
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.


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

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

Сейчас этот форум просматривают: Yandex-бот и гости: 69

    TopList