|
Как сделать модальным экземпляр окна?
|
|||
---|---|---|---|
#18+
Наткнулся на проблему: в приложении используется замена штатному MsgBox - класс Dialog, который сообщения создает через создание экземпляра класса окна: Код: vbnet 1.
Соответственно, хоть окно и имеет свойство Modal, но полностью модальным не является, если его создать поверх открытого Popup окна, то оно легко "уходит" под него при клике на Popup окне, а если такое окошко открыть в событии смены фокуса, то в большинстве случаев просто уходит од основное окно без дополнительных действий. Если бы диалог создавался стандартным образом, через DoCmd.OpenForm с параметром acDialog, то таких проблем не возникало бы, но в данном случае нужна возможность открытия нескольких экземпляров окна. Вопрос: как можно сделать окно полностью модальным внутри приложения, создавая его через экземпляр класса? Очень не хочется заморачиваться с таймером. API позволит сменить тип окна "на ходу"? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2016, 07:17 |
|
Как сделать модальным экземпляр окна?
|
|||
---|---|---|---|
#18+
Volunteer, всё это здорово. Но возникает вопрос, а как ты собираешься открыть эти несколько экземпляров диалога? Диалоговое окно кроме того, что висит несколько выше всех остальных окон процесса в Z-последовательности, характеризуется прерыванием выполнения программы - кнопки не нажимаются, код породивший диалог - остановлен. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2016, 07:38 |
|
Как сделать модальным экземпляр окна?
|
|||
---|---|---|---|
#18+
Volunteer, так-то можешь поиграть с границей формы - "Тип границы" = "Окно диалога" . Может хватит тебе. Или VolunteerAPI позволит сменить тип окна "на ходу"? Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
Как-то так... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2016, 07:49 |
|
Как сделать модальным экземпляр окна?
|
|||
---|---|---|---|
#18+
Панургтак-то можешь поиграть с границей формы - "Тип границы" = "Окно диалога" . Помогло, перестало улетать вниз. Спасибо! По мне, так я эту красивость вообще убрал бы, ничего кроме гемора не дает. Замечание насчет нескольких экземпляров тоже верное, не откроешь несколько сообщений подряд, а из одного сообщения открывать другое не требуется. Поэтому вполне можно эту красоту переделать и на открытие стандартным образом. Через экземпляр сделали, как я понимаю, для облегчения передачи параметров в окно, но это легко решаемо другими методами. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2016, 08:14 |
|
|
start [/forum/topic.php?fid=45&msg=39360967&tid=1612907]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 341ms |
total: | 470ms |
0 / 0 |