Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как сделать активной подчиненное окно??
|
|||
|---|---|---|---|
|
#18+
Есть программа (не моя) в ней несколько окон (Form), так вот при загрузке программы они все появляюся на экране, но активной всегда остается главная форма. Как сделать чтобы после загрузки программы активной становилась подчиненная форма (Form2). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2002, 13:52 |
|
||
|
Как сделать активной подчиненное окно??
|
|||
|---|---|---|---|
|
#18+
Привет. Найди окно с помощью FindWindow и пошли ему сообщение (то ли WM_ACTIVATE, то ли WM_SHOWWINDOW) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2002, 16:10 |
|
||
|
Как сделать активной подчиненное окно??
|
|||
|---|---|---|---|
|
#18+
Можно так, как написал Gold. Это с использованием Windows API. A можно переключить главную форму на Form2 в меню Project->Options или вызвать метод Form2.BringToFront. И все дела. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2002, 18:51 |
|
||
|
Как сделать активной подчиненное окно??
|
|||
|---|---|---|---|
|
#18+
Дак он же пишет, что прога не его => исходников, наверное, нету :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2002, 19:00 |
|
||
|
Как сделать активной подчиненное окно??
|
|||
|---|---|---|---|
|
#18+
Привет Gold Читал я как то давненько в книге по Делфи 4 о такой штуке, но как тогда до меня ничего не дошло так и теперь для меня это загадка..... Если можно то по подробнее опиши как найти окно с помощью FindWindow??? и далее с помощью чего (и где найти это чего) мне послать это сообщение WM_ACTIVATE??? - буду очень благодарен..... В принципе если постараться то исходник я могу достать но...... Попробовал на пустых окошках сделать то, что советует hDrummer 1."Можно переключить главную форму на Form2 в меню Project->Options" - нельзя т.к. - она главная на ней все элементы управления.... 2. "Вызвать метод Form2.BringToFront" - Это интересно, но где??... в каком месте ??.... Даже вот просто допустим, что у нас две формы одна главная и должна ей остаться, а вторая для ввода данных .... и куда мы засандаливаем метод "Form2.BringToFront" Я его куда только не совал и FormCreate, и FormShow, всеравно Form1 остается активной...... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2002, 09:34 |
|
||
|
Как сделать активной подчиненное окно??
|
|||
|---|---|---|---|
|
#18+
Вот что написано в Русской справке по WinAPI Функция FindWindowГруппа ссылок: Окна Описание: function FindWindow(ClassName, WindowName: PChar): HWnd; Находит pодительское окно веpхнего уpовня с совпадающими ClassName и WindowName. Не осуществляет поиск дочеpних окон. Паpаметpы : ClassName: Имя класса окна (заканчивающееся пустым символом, nil - если все классы). WindowName: Текстовый заголовок окна или 0, если все окна. Возвpащаемое значение : Описатель окна; 0 - если такого окна нет. Пример: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ВОТ ЕЩЕ ПРИМЕР ПРИМЕНЕНИЯ Как определить работает ли уже данное приложение или это первая его копия? Для Delphi 1. Каждый экземпляр программы имеет ссылку на свою предыдущую копию - hPrevInst: hWnd. Ее можно проверить перед созданием приложения и при необходимости отреагировать соответствующим образом. Если запущена только одна копия, то эта ссылка равна нулю. Пример: Код: plaintext 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. 33. 34. 35. 36. 37. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2002, 10:56 |
|
||
|
Как сделать активной подчиненное окно??
|
|||
|---|---|---|---|
|
#18+
Большое сорри, последний пример не в тему :-))) НАДО ВОТ ЭТОТ ПРИМЕР: Часто при работе у пользователя может быть открыто 5-20 окон и сообщение о том, что программа уже запущено, приводит к тому, что он вынужден полчаса искать ранее запущенную копию. Выход из положения - найдя копию программы активировать ее, для чего в последнем примере перед HALT необходимо добавить строку : SetForegroundWindow(Wnd); Например так: Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2002, 11:00 |
|
||
|
Как сделать активной подчиненное окно??
|
|||
|---|---|---|---|
|
#18+
Ну, я смотрю исходники всё же есть. Тогда можно так извратиться: кинуть на форму таймер, написать в событии onTimer такой код: Код: plaintext 1. 2. 3. он 1 раз при запуске отработает - и адью... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2002, 11:21 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=32066560&tid=2119664]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
62ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 267ms |
| total: | 431ms |

| 0 / 0 |
