![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запрет обработки сообщений окну [D7, Win95/98, WinXP]
Unax © (2004-02-17 07:24:00)Как запретить всем окнам(формам) в приложении обрабатывать сообщения, кроме одного? Т.е нужно чтобы одна форма была всегда активна и нельзя было переключиться на другую.
Unax (2004-02-18 18:37:00) [1]Вот именно что не судьба, модальная форма почему-то оказывается внизу той на которую щелкнули и ее не видно. Как ее вытащить наверх???
PS. А прога должна вести себя также как Excel и Word, это вы правильно подметили.
Игорь Шевченко (2004-02-18 18:12:00) [2]Unax © (18.02.04 18:08)
А обратно переключиться через Taskbar не судьба ? Excel и Word точно также работают.
Unax (2004-02-18 18:08:00) [3]Дело в том что для каждой формы выполняется SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_APPWINDOW), те заголовок распологается в Taskbar и я действительно вызываю ShowModal, все прекрасно работает, но приложение позволяет переключиться на другую форму щелкнув на заголовок формы в Taskbar и модальная форма оказывается под другой формой, и ее никак уже не вытащить наверх.
MBo (2004-02-17 09:20:00) [4]Для чего нужно такое приложение?
Схожую функциональность обеспечивает показ формы по ShowModal - не устроит?
KADAN (2004-02-17 08:47:00) [5]Сделай TForm1.WndProc(var M:TMessage); overrideи не вызывай в ней inherited, вот только сообщения бывают разные, думаю обработкой только одного сообщения нельзя ограничиваться.