Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запрет получения фокуса приложения


Unknown_user ©   (2010-08-24 17:35:00) 

Как запретить приложению получать фокус (ставать активным) при щелчке по его окну?


TButtons   (2010-08-24 20:39:00) [1]

http://www.swissdelphicenter.ch/en/showcode.php?id=2394


Игорь Шевченко   (2010-08-24 20:03:00) [2]

офигеть сколько сложностей вместо нормального дизайна


Unknown_user   (2010-08-24 19:59:00) [3]

Нашел решение. Надо использовать API функцию LockSetForegroundWindow(LSFW_LOCK) в основном процессе при создании процесса дочернего.


Unknown_user   (2010-08-24 19:18:00) [4]

Еще вопрос. Вот таким вот образом встраиваю окно дочернего процесса в MDIChild окно основного процесса.

 Windows.SetParent(ChldFrm.ExtProcWND, ChldFrm.Panel1.Handle);
 SetWindowLong(ChldFrm.ExtProcWND, GWL_STYLE, WS_VISIBLE);
 MoveWindow(ChldFrm.ExtProcWND, 0, 0, ChldFrm.Panel1.Width, ChldFrm.Panel1.Height, true);


где

ChldFrm.ExtProcWND - HWND окна дочернего процесса
ChldFrm.Panel1.Handle - HWND MDI Child окна основного процесса

При выполнении Windows.SetParent приложение теряет фокус. Приходится вызывать Application.BringToFront. Однако при этом заметно мерцание заголовков окон. Некрасиво. Можно как-то предотвратить потерю фокуса при выполнеиии Windows.SetParent?


Unknown_user   (2010-08-24 19:05:00) [5]

>WS_EX_NOACTIVATE может в расширенных стилях?

Большое спасибо, работает!


DVM   (2010-08-24 18:15:00) [6]

WS_EX_NOACTIVATE может в расширенных стилях?


Unknown_user   (2010-08-24 18:02:00) [7]

Его закрывает родительское приложение. Непосредственно пользователь не закрывает.


DVM   (2010-08-24 17:53:00) [8]

и как его потом закрыть?


Наверх

Титульная страница Поиск, карта сайта Написать письмо