Как закрыть ActiveX документ?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Хемуль
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 29.06.2005 (Ср) 9:32

Как закрыть ActiveX документ?

Сообщение Хемуль » 22.08.2005 (Пн) 16:28

В смысле, как это сделать программно. Unload Me не идет, так как ActiveX документ не ведает, что такое Me, в отличии от формы.
Т.е. по сути вопроса - что написать в кнопке, чтобы закрыть саму форму.

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

Сообщение Konst_One » 22.08.2005 (Пн) 17:13

Код: Выделить всё
Unload me.Parent
:?:

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

Сообщение ANDLL » 22.08.2005 (Пн) 17:14

ActiveX документ или ActiveX контрол? Это разные вещи...
Впрочем, ответ будет один: определять hwnd родительского окна(GetParent и его сородичи) и закрывать его(DestroyWindow).

2Konst_One:А если родитель не VBшная форма?
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

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

Сообщение Konst_One » 22.08.2005 (Пн) 19:38

тогда

Код: Выделить всё
Unload Me.Parent.Parent


и тд и тп
:lol:

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

Сообщение ANDLL » 22.08.2005 (Пн) 20:04

Ты не понял.
Если родитель вообще никакого отношения к VB не имеет?
Скажем это WebBrowser(что очень вероятно в случае с ActiveX document) или еще какая-то Cшная программа.
В этом случае опреатор Unload не будет работать.
Как наиболее простой вариант можно использовать
Код: Выделить всё
DestroyWindow (Parent.hWnd)

Правда этот код будет работать при условии, что контейнер предоставляет доступ к этому свойству.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Хемуль
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 29.06.2005 (Ср) 9:32

Сообщение Хемуль » 23.08.2005 (Вт) 7:23

Речь идет именно об ActiveX-документе. Родителем является программа 1С.
На DestroyWindow бейсик ругается что такая функция не определена :(

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

Сообщение ANDLL » 23.08.2005 (Вт) 7:57

Ну так объяви:
Код: Выделить всё
Private Declare Function DestroyWindow Lib "user32" Alias "DestroyWindow" (ByVal hwnd As Long) As Long
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Хемуль
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 29.06.2005 (Ср) 9:32

Сообщение Хемуль » 23.08.2005 (Вт) 8:06

Огромное спасибо!
Именно DestroyWindow (Wnd) мне и помогло!


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

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

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

    TopList