Тема: showmodal=false

Почему TextBox не получает фокус при showmodal=false(свойство формы)?

Re: showmodal=false

Думаю можно обработать событие выбора текстбокса, в котором переключить модальность формы. А при выходе из текст бокса - наоборот.

Re: showmodal=false

На вопрос забыл ответить)
Думаю для этого немодальные окна и придуманы, что бы управление перешло приложению (Автокаду в данном случае, как я понимаю).
Ты посмотри как работают плавающие палитры, та же палитра свойств, она в немодальном режиме, пока на нее мышкой не тыкнишся)

Re: showmodal=false

ГЕНИАЛЬНО!!!

Re: showmodal=false

Спасибо Vildar!!!

Re: showmodal=false

Свойство showmodal есть только в окне свойств, как же его программно изменить?

Re: showmodal=false

Могу посоветовать так:

Private Sub TextBox1_Enter()
   hide
   Me.Show vbModal
End Sub

Т.е. быстренько скрыл и открыл по новой ))
Кстати где-то видел пример создания окон в акаде по типу палитр. Кажется на ARXe. Это мне ни асилить (.

Re: showmodal=false

Текстбоксов многовато, есть еще какие мысли?

Re: showmodal=false

Надо еще при выходе модальность убрать.

Re: showmodal=false

Я пас. Ничего не могу придумать.
Распиши по-подробней в чем проблема.
Примерчик подкинь.

Re: showmodal=false

Ну в чем, на форме несколько текстбоксов, надо немодальное окно, и все. Если поставить showmodal=false, а в событии Form_Click вставить:   me.hide
            Me.Show vbModal
то окно становиться модальным, а вот как его обратно в немодальное переключить не знаю.

Re: showmodal=false

> stas_org
Попробуй использовать событие Form_Deactivate

Re: showmodal=false

неа

Re: showmodal=false

На VBA никак.

Re: showmodal=false

Можно спец. кнопку под это дело выделить

Re: showmodal=false

> 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

)

Re: showmodal=false

AutoCAD Focus Control for VBA Type Library

Сообщения 17

Тему читают: 1 гость

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться