| Автор
| Сообщение |
|
|
|
Цитата |
|
Подскажите добрые люди. У меня есть дескриптор некоего окна, могу ли я сделать его модальным, сообщение может какое ему отправить?
|
|
| В начало |
|
 |
|
|
 |
DrPass
Знающий :) /Почетный Модератор/

Возраст: 31
Знак зодиака: 
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
|
|
|
Цитата |
|
В смысле модальным? Фокус ввода передать, что ли? Тогда SetForegroundWindow()
_________________ Да пребудет с вами Сила! |
|
| В начало |
|
 |
 Шурик
Я живу тут....

Возраст: 42
Знак зодиака: 
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
|
|
|
Цитата |
|
to DrPass
Наверно аналогично TForm.ShowModal в Делфи - передать фокус и запретить перемещать фокус на любое другое окно этого приложения.
to denis
А это точно не Делфийское окно?
|
|
| В начало |
|
 |
 Dave
Модератор

Возраст: 36
Знак зодиака: 
Зарегистрирован: 08.08.2002
Сообщения: 1208
Откуда: Yaroslavl
|
|
|
Цитата |
|
Хе !
А ты собираешься его делать модальным относительно чего ?
_________________ Не убегай от снайпера - умрешь уставшим ! |
|
| В начало |
|
 |
DrPass
Знающий :) /Почетный Модератор/

Возраст: 31
Знак зодиака: 
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
|
|
|
Цитата |
|
Нет, ну если окно в другой программе - то как его модальным сделать? Лично я сейчас не знаю
_________________ Да пребудет с вами Сила! |
|
| В начало |
|
 |
|
|
|
Цитата |
|
to denis
Ну как обычно, есть программа которая позволяет во встроенном языке вызывать свои DLL, передавая в них строку и дискриптор окна (их там много) и хочется сделать одно из них модальным
|
|
| В начало |
|
 |
DrPass
Знающий :) /Почетный Модератор/

Возраст: 31
Знак зодиака: 
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
|
|
|
Цитата |
|
Что-то мутная тема получается...
Как будто боты на форум пролезли
_________________ Да пребудет с вами Сила! |
|
| В начало |
|
 |
 Gelios
Oracle-вый маньяк, Админ

Возраст: 37
Знак зодиака: 
Зарегистрирован: 10.03.2005
Сообщения: 6141
Откуда: Яблочный рай
|
|
|
Цитата |
|
ну так посмотри вин апи, мож есть такая функция...
_________________ нельзя давать всем всего, ибо всех много, а всего мало |
|
| В начало |
|
 |
DrPass
Знающий :) /Почетный Модератор/

Возраст: 31
Знак зодиака: 
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
|
|
|
Цитата |
|
Да смотрел WinAPI. Нет там такой функции, разве что плохо смотрел.
_________________ Да пребудет с вами Сила! |
|
| В начало |
|
 |
|
|
 |
 Gelios
Oracle-вый маньяк, Админ

Возраст: 37
Знак зодиака: 
Зарегистрирован: 10.03.2005
Сообщения: 6141
Откуда: Яблочный рай
|
|
|
Цитата |
|
ну значит нельзя.
_________________ нельзя давать всем всего, ибо всех много, а всего мало |
|
| В начало |
|
 |
 Ktf
Администратор

Возраст: 32
Знак зодиака: 
Зарегистрирован: 15.05.2005
Сообщения: 1502
Откуда: localhost
|
|
|
Цитата |
|
хех, кажись я немного опоздал на обсуждение...
а ведь и мне приходилось решать такую задачку.
дело было так....
однажды на работе поручили мне написать так называемую "Электронную заявку".
суть такая.
программа должна перехватить задание на печать на любой из имеющихся сетевых принтеров и придержать его в очереди печати до тех пор, пока не будет оформлена и утверждена заявка на печать.
при этом окно оформления заявки должно выскочить в программе, печатающей документ (будь то Acad, Office и какая-нибудь самодельная прога), сразу после помещения всего задания в очередь.
одним из условий было то, что окно заявки должно быть модальным.
и вот как это сделал я...
во все визуальные процессы внедрялась некая библиотека (с помощью SetWindowHookEx), которая при аттаче ставила ApiHook на некоторые функции печати (не буду вдаваться в детали).
ну а дальше дело техники.
сразу по окончании помещения задания в очередь печати, в процессе создавался новый поток, выводящий на экран окно оформления заявки.
модальность этого окна достигалась следующим образом.
имея хэндл текущего процесса, я находил хэндлы всех принадлежащих к нему потоков, далее получал список разрешенных (enabled) родительских окон каждого из потоков.
и все!
при отображении окна заявки включалась модальность - запрещение (disable) всех окон в списке, при уничтожении окна модальность отключалась - разрешение всех окон в списке.
| Описание: |
|
 Скачать |
| Имя файла: |
1.gif |
| Размер: |
46.32 KB |
| Загружен: |
395 раз(а) |
|
|
| В начало |
|
 |
 NikotiN
Розовый мамонт

Возраст: 26
Знак зодиака: 
Зарегистрирован: 18.03.2005
Сообщения: 2137
|
|
|
Цитата |
|
| имхо всё решается через стиль окна или класса.
|
|
| В начало |
|
 |
 Ktf
Администратор

Возраст: 32
Знак зодиака: 
Зарегистрирован: 15.05.2005
Сообщения: 1502
Откуда: localhost
|
|
| В начало |
|
 |
|