Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Создание Event События Добавлено: 06.12.05 17:39  

Автор вопроса:  VERiTAS
Доброго вечера.

Вопрос(ы):
1. Я использую в проекте ActiveMovie Control type library (quartz.dll). На сколько этот dll

"стандартный" для Windows., t.е. нужно ли с собой его таскать, или же он присутствует во

всех "окнах". Судя по MSDN он входит в состав пакета DirectX начиная от 8.1, но кто его

знает, может и не входит :) ?

2. Как создать Event событие для объекта (нестандартного, и созданного из модуля) ?
Конкретнее: во время выполнения программы создается объект:
  <b>VideoWindow As IVideoWindow </b> 'который собственно является окном в котором

воспроизводится видео. Затем он присваивается к <b>owner</b> объекту, например к

<b>PictureBox</b> на форме. Собственно после, созданный "комплект" служит для вывода

видео.

 НООООО! как ловить события <b>Click, MouseMove e.t.d.</b> - на таком объекте, как

<b>VideoWindow</b> непонятно ??????

Я думал что можно так же как при создании нового объекта в режиме runtime, ну как:
Private WithEvents NewButton As CommandButton

Private Sub NewButton_Click()
  MsgBox "Вы нажали на новую кнопку"
End Sub
Private Sub Form_Load()
  Set NewButton = Controls.Add("VB.CommandButton", "NewButton")появляется новая кнопка
  NewButton.Visible = True
  NewButton.Height = 1000
  NewButton.Width = 1000
  NewButton.Top = 0
  NewButton.Left = 0
  NewButton.Caption = "Нажми на меня!!!!"
End Sub

Ответить

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

Номер ответа: 1
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #1
Добавлено: 08.12.05 01:07
Странно, почему нет ответов - избитая на нет тема.
1. Не знаю как у кого - у меня есть. 8)
2. Надо сабклассировать новое окно (перехватывать сообщения) и обрабатывать их в собственном обработчике. Ищи "сабклассинг в VB", открывай API-Viwer, тырь оттуда все WM_... и делай всё как на С++ при создании диалогов. Т.е. через Select Case.
Я думал что можно так же как при создании нового объекта в режиме runtime, ну как:

Имхо, тогда проще сразу нарисовать кнопку, сделать её невидимой и весь твой код в процедуре загрузки заменить на Button1.Visible = True.

Ответить

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



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #2 Добавлено: 08.12.05 13:15
Напиши для объекта враппер и обрабатывай события в нем.

Ответить

Номер ответа: 3
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #3 Добавлено: 08.12.05 14:34
Да массивами сделай и не парося, нарисуй одну кнопку CommandButton1(0), потом подгружай остальные через Load, а обработчик клика для массива всёравно один... а там смотриш какой Index нажали и соответственно обрабатывать... Сабкласингом можно - но лишний гмор, в VB галимо сабкласинг делать, пока отладишь умереть можно, чуть что не так - бум и вылетаем... :) Потом с правой хук по монитору, клава в стенку и пошёл пиво пить - проверено :)

Ответить

Номер ответа: 4
Автор ответа:
 VERiTAS



Вопросов: 5
Ответов: 6
 Профиль | | #4 Добавлено: 13.12.05 13:21
HACKER причем тут CommandButton, суть то не вней а в ActiveMovieWindow.
Насчет сабклассинга я тоже подумывал, но на самом деле стоко "гемора" и к тому же я не очень хорошо с ним знаком :( поэтому решил спросить, может есть другой выход...

Ответить

Страница: 1 |

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



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