|
|
|
Свернуть/развернуть модальные формы в DLL
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток, уважаемые специалисты! Целую кучу времени бьюсь над следующей проблемой: 1. Есть многолетний проект. Delphi XE. Есть экзешник, который в статике вызывает dll и из неё главную форму ShowModal 2. В этой форме работают люди (с самим приложением и не прикасаются - его не видно, оно для администраторов) Если ничего не менять, то форма сворачивается не в трей а в миниокно в левый нижний угол (на Windows 10 при увеличенном значении точек дюйм его не видно...!!) Делаю Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 3. Это окно работает исправно (основное окно DLL) 4. Но в библиотеке куча других форм! Они по умолчанию тоже спускаются не в трей, а в угол. И вот когда уже допиливаю их... Начинаются проблемы: - Сворачивается все ок! - Разворачивается с главной формой впереди. Соответственно модальная форма другая сзади. Соответсвенно пользователь тыкает и слышит звон... Умный пользователей начинает щелкать Alt-Tab и все находит6 но таких единицы... ВОПРОС: Как без вечного свойства StayOnTop для всех дополнительных модальных форм аккуратно развернуть приложение? Заранее благодарен! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2017, 14:26:45 |
|
||
|
Свернуть/развернуть модальные формы в DLL
|
|||
|---|---|---|---|
|
#18+
Лечить по телефону сложно, но попробуйте вот это: https://www.codeproject.com/Tips/76427/How-to-bring-window-to-top-with-SetForegroundWindo ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2017, 17:42:54 |
|
||
|
Свернуть/развернуть модальные формы в DLL
|
|||
|---|---|---|---|
|
#18+
dll Код: pascal 1. 2. 3. 4. exe Код: pascal 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2017, 18:47:44 |
|
||
|
Свернуть/развернуть модальные формы в DLL
|
|||
|---|---|---|---|
|
#18+
В DLL: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Так показываю форму в DLL. Так пробую на формы: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Результата нет.. Форма основная активируется, а модальная не видна (как бы за ней). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2017, 19:29:31 |
|
||
|
Свернуть/развернуть модальные формы в DLL
|
|||
|---|---|---|---|
|
#18+
icemanea Код: pascal 1. Создавать так icemanea Код: pascal 1. Это выкинуть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2017, 20:18:52 |
|
||
|
Свернуть/развернуть модальные формы в DLL
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, Так я делал 2 дня назад... Перепробовал тысячу разных советов и вот снова вернулся в точку 0. Не работает. после restore приложения выскакивает главная форма, а активная модальная за ней. Ещё ходит подсказка, чтобы на один момент форму сделать fsStayOnTop. Но я не понимаю как отследить этот момент. Событие Код: pascal 1. 2. 3. 4. для формы не происходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2017, 21:56:24 |
|
||
|
Свернуть/развернуть модальные формы в DLL
|
|||
|---|---|---|---|
|
#18+
icemaneaКак без вечного свойства StayOnTop для всех дополнительных модальных форм аккуратно развернуть приложение? См. Screen.Forms ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 13:56:31 |
|
||
|
Свернуть/развернуть модальные формы в DLL
|
|||
|---|---|---|---|
|
#18+
SimplTsar, СПАСИБО огромное! Дельный совет. Теперь все работает в лучшем виде! :) Форма с индексом 0 всегда самая "верхняя". Допилил кастомную форму, теперь проект летает. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 14:15:53 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39486940&tid=2042038]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
154ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 442ms |

| 0 / 0 |
