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

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

Модальное окно [D6, WinXP]


Eug201 ©   (2002-11-19 14:40:00) 

Подкиньте идею, please. Не могу врубиться, как надо.

Пишу ScreenSaver. Пишу не на чистом Api - а использую формы Delphi. Возникла проблема: когда должно вылететь окошко хранителя с настройками - это окно должно быть модальным по отношению к окну Windows "свойства экрана". Хандл этого окна я имею - но состряпать модальную форму - не получается. Пробовал переписывать CreateParams - не помогает или какой-то не тот стиль задаю.

Заранее большой thanks!


Eug201   (2002-11-19 19:01:00) [1]

Проблему можно решить с помощью EnableWindow(GetForegroundWindow,false), но однако немного нехорошо - если приложение подвиснет - некому будет сказать Enable :(


Egu201   (2002-11-19 18:13:00) [2]

Спасибо! Но окошко получается не модальное а чайлдовое - т.е. находится внутри окошка "Свойства экрана" :(


Egu201   (2002-11-19 18:12:00) [3]

Спасибо! Но окшко получается не мадальное а чайлдовое - т.е. находится внутри окошка "Свойства экрана".


Marcus   (2002-11-19 17:12:00) [4]

class function TSaverSettings.Execute(hwndOwner: HWND): boolean;
begin
with TSaverSettings.CreateParented(hwndOwner) do begin
try

Result := (ShowModal = mrOk);
finally
Free;
end;
end;
end;

вызов:

Res := TSaverSettings.Execute(hwndOfDesktopSettingsWindow);


Наверх

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