Тема: Продолжение программы после вызова метода Show

Можно ли сделать так чтобы после вызова метода Show программа продолжала работать а форма которая вызывалась на экран продолжала отображаться на экране?

Re: Продолжение программы после вызова метода Show

код модуля:
Sub FormShow()
   UserForm1.Show
End Sub
код формы:
Private Sub UserForm_Activate()
     Dim result As Integer
     result = 2 * 3
     MsgBox result
End Sub

Вызываешь из AutoCAd'а макрос FormShow и получаешь искомый результат.

Re: Продолжение программы после вызова метода Show

Я имею в виду то, что в подпрограмме FormShow выполнение программы затормозится на строке UserForm1.Show до тех пор пока не закроется форма.
А если мне надо например после метода Hide получить данные с экрана, затем чтобы отобразить форму на экране я вызываю метод Show и надо вычислить по полученым данным с экрана, а программа после метода Show не работает. (кстати накопление таких методов Show для различных форм хорошо заметно в окне "Call stack"). В общем в таких случаюх логичнее применять что-то вроде метода Visible для формы но таких методов нет для формы и иногда у меня в таких случаях возникают проблемы.

Re: Продолжение программы после вызова метода Show

не совсем понял, что нужно,
но что если попробовать поместить необх. вычисления в тело процедуры User_Form1_Activate. Тогда при показе формы(UserForm1.Show) и будут производиться необх. вычисления.

Re: Продолжение программы после вызова метода Show

можно.
на форму надо бросить контрол acFocusCtrl
форме надо сказать что она немодальная.
и тогда эта форма не только будет висеть над окном автокада в то время как основная программа пойдет работать дальше, но и можно будет осуществялть интерактивную работу с автокадом.

Re: Продолжение программы после вызова метода Show

Замечательно! Это очень интересно Дмитрий! А где можно взять этот acFocusCtrl?

Re: Продолжение программы после вызова метода Show

Берется он в Tools->Additional Controls, в списке контролов выбираешь acFocusCtrl. У тебя на Toollbox'е добавляется новый контрол. Берешь его и кидаешь на свою форму, выставляешь немодальный режим и в путь....