Тема: showmodal=false
Почему TextBox не получает фокус при showmodal=false(свойство формы)?
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → VBA → showmodal=false
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Почему TextBox не получает фокус при showmodal=false(свойство формы)?
Думаю можно обработать событие выбора текстбокса, в котором переключить модальность формы. А при выходе из текст бокса - наоборот.
На вопрос забыл ответить)
Думаю для этого немодальные окна и придуманы, что бы управление перешло приложению (Автокаду в данном случае, как я понимаю).
Ты посмотри как работают плавающие палитры, та же палитра свойств, она в немодальном режиме, пока на нее мышкой не тыкнишся)
Свойство showmodal есть только в окне свойств, как же его программно изменить?
Могу посоветовать так:
Private Sub TextBox1_Enter() hide Me.Show vbModal End Sub
Т.е. быстренько скрыл и открыл по новой ))
Кстати где-то видел пример создания окон в акаде по типу палитр. Кажется на ARXe. Это мне ни асилить (.
Я пас. Ничего не могу придумать.
Распиши по-подробней в чем проблема.
Примерчик подкинь.
Ну в чем, на форме несколько текстбоксов, надо немодальное окно, и все. Если поставить showmodal=false, а в событии Form_Click вставить: me.hide
Me.Show vbModal
то окно становиться модальным, а вот как его обратно в немодальное переключить не знаю.
> stas_org
Попробуй использовать событие Form_Deactivate
> stas_org (2008-10-02 09:07:50)
Можно спец. кнопку под это дело выделить
Я именно так и поступаю. Объявляю переменную Fmodal, присваиваю ей 1 при запуске, вешаю на форму ToggleButton, и-... Public Fmodal As Integer ... Fmodal = 1 ... Private Sub ToggleButton2_Click() If ToggleButton2.Value = True Then Fmodal = 1 Else Fmodal = 0 End If UserForm1.Hide UserForm1.Show Fmodal End Sub
Кнопка нажата- форма модальная, отжата- немодальная. Можно и без кнопки- повесить аналогичный код на процедуру двойного клика по форме, например (If Fmodal = 0 Then Fmodal = 1 Else Fmodal = 0 End If UserForm1.Hide UserForm1.Show Fmodal)
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → VBA → showmodal=false
Форум работает на PunBB, при поддержке Informer Technologies, Inc