Модальные формы мешают обработке - PullRequest
1 голос
/ 13 мая 2010

Я работаю над интерфейсом в VB6 для взаимодействия со звуковым редактором, чтобы автоматизировать определенные задачи, главным образом, используя дескрипторы объектов редактора и активируя их через SendMessage / PostMessage. В целом все работает нормально, за исключением того, что в редакторе есть несколько диалоговых окон, которые открываются в модальном режиме и замораживают все в интерфейсе, включая таймеры.

Есть ли практический способ заставить эти диалоговые окна открываться без режима или взаимодействовать с ними из интерфейса после их появления? Я попробовал форму MDI, но она также зависает вместе со всем остальным. Единственный способ переопределить модальный режим этих блоков - это предварительно запустить независимый апплет для обращения к диалоговым окнам с таймером, но процесс несколько затруднителен.

Все, что мне нужно сделать с диалоговыми окнами, - это нажать кнопку ОК или нажать клавишу возврата.

Ответы [ 2 ]

0 голосов
/ 16 мая 2010

Это сложный вопрос, без понимания контекста диалоговых окон. Однако, если вы не хотите, чтобы диалоговое окно останавливало выполнение вашей программы, я думаю, что единственный способ - это запустить ваше приложение из другого потока (запуск и Active X exe или что-то в этом роде), а затем выполнить вызовы другого потока. .

0 голосов
/ 13 мая 2010

Метод Form.Show исключает необязательный параметр стиля, который определяет, является ли форма модальной или немодальной. Вы можете передать ему внутреннюю постоянную vbModeless.

Form1.Show vbModeless
...