Свойство класса - Объект

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

Свойство класса - Объект

Сообщение SHURUP » 01.12.2004 (Ср) 0:48

Всем доброго времени суток!
Я тута класс решил написать, что-то типа маркеров (8 квадратиков по всем сторонам и диагоналям) для изменения размеров объекта. У класса есть свойство someObject - тот контрол, который мы ресайзим, но поскольку я не знаю какой именно тип контрола будет не могу его обьявить через WhithEvents. Как мне быть???

Огромное спасибо заранее![/b]
Нам чужого не надо, но своё мы возьмем, чьё бы оно ни было...

BOO
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 126
Зарегистрирован: 06.09.2003 (Сб) 14:23
Откуда: Саратовская обл. г.Энгельс

Сообщение BOO » 01.12.2004 (Ср) 9:34

Если я правильно понял (не очень толково написано! :( ) то ты хочешь чтобы класс "обвертывал" какой-то контрол, но незнаешь его тип. Ну а зачем нужен его тип ведь свойство Top. Left. Width. Height есть у любого объекта... Юзай объект Object.....
Слушайте рок!

xenomorph
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 508
Зарегистрирован: 18.04.2004 (Вс) 11:41
Откуда: это не важно - на сегодня у меня есть алиби ...

Сообщение xenomorph » 03.12.2004 (Пт) 9:37

Может поможет - оно работает - тока что проверил 8).

Делаем класс:
'===========================
Option Explicit

Public Sub Main(ByRef TB As Object)

Select Case TypeName(TB) 'Это возвращает тип обекта ...

Case Is = "Timer"

Msgbox TB.Interval

Case Is = "Textbox"

Msgbox TB.Text

End Select ...

End Sub
'===========================

И вызываем из формы ...

Прикол в том, что нужно:

1) очень осторожно писать код обработки разных обектов ...
2) нету контекстной подсказки 8) при точке 8). (хотя можно менять
ByRef TB As Object на ByRef TB As Timer
ByRef TB As Winsock

далее писать код, а потом поменять на обджект опять 8)
--
Удачи
... Dpkjvfnm dc`xnj itdtkbnmcz, f tckb yt itdtkbnmcz hfcitdtkbnm b dpkjvfnm !!! ...

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

Сообщение SHURUP » 08.12.2004 (Ср) 14:38

2BOO, 2xenomorph, спасибо, что не прошли мимо. Но все-же есть проблем с WithEvents, У меня в принципе объект обязательно должен обрабатывать event mouse_move.
Заранее известно, что объекты типа "Таймер, Винсокс, КомонДиалог…" не будут участвовать в класе. Только те, которых можно двивать и ресайзить в RunTime
Нам чужого не надо, но своё мы возьмем, чьё бы оно ни было...

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

Сообщение Konst_One » 08.12.2004 (Ср) 14:44

если будешь работать только со стандартными контролами VB , то можешь заюзать объект VBControlExtender

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

Сообщение SHURUP » 08.12.2004 (Ср) 14:46

Konst_One писал(а):если будешь работать только со стандартными контролами VB , то можешь заюзать объект VBControlExtender
О! вот это очень близко. Я его по F2 находил, но толком не разобрался. Инфы мало.
Как его юзать? желательно с примерчиком…
Нам чужого не надо, но своё мы возьмем, чьё бы оно ни было...

TEH3OP
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 143
Зарегистрирован: 12.12.2003 (Пт) 20:19
Откуда: Москва

Сообщение TEH3OP » 08.12.2004 (Ср) 15:15

Можно ещё субклассировать.
Тогда тебе достаточно будет Object.hwnd, а потом проверить hwnd при помощи IsWindow и всё субклассируй и обрабатывай WM_MOVE WM_PAINT и т.п....

Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

Сообщение Gemini » 08.12.2004 (Ср) 15:58

Извините это наверное глупый вопрос но обьясните мне пожалуйста что значит слово: субклассировать

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

Сообщение tyomitch » 08.12.2004 (Ср) 16:02

Это такой неудачный термин для обозначения перехвата оконной процедуры. С классами он имеет мало общего.
Изображение


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

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

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

    TopList  
cron