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

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

Диалоговое окно не должно перекрываться другими окнами [D7, WinXP]


dmitry_12_08_73 ©   (2008-07-13 20:14:00) 

Как сделать, чтобы после открытия диалогового окна типа TOpenDialog  оно не перекрывалось другими окнами. То есть чтобы оно оставалось на переднем плане как обычное окно, у которого FormStyle = fsStayOnTop.
Процедура API:
SetWindowPos(OpenDialog1.Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or  SWP_NOSIZE or SWP_NOACTIVATE)
не помогает


Palladin   (2008-07-17 12:30:00) [1]


> oldman ©   (14.07.08 15:25) [2]

ему можно... я уже вижу его будущее... слышу проклятья в его сторону... синяки и оторванные руки... )


Vlad Oshin   (2008-07-17 10:48:00) [2]

procedure JumpUp;
var
 Info: TAnimationInfo;
 Animation: LongBool;
 hApp: hWnd;
 nFalse:integer;
begin
 hApp := Application.Handle;
 if IsIconic(hApp) then
   Application.Restore
 else
 begin
   SetActiveWindow(hApp);
   Info.cbSize := SizeOf(Info);
   if SystemParametersInfo(SPI_GETANIMATION, SizeOf(Info), @Info, 0) then
     Animation := Info.iMinAnimate <> 0
   else
     Animation := False;
   Info.iMinAnimate := nFalse;
   SystemParametersInfo(SPI_SETANIMATION, SizeOf(Info), @Info, 0);
   ShowWindow(hApp, SW_MINIMIZE);
   ShowWindow(hApp, SW_RESTORE);
   Info.iMinAnimate := integer(Animation);
   SystemParametersInfo(SPI_SETANIMATION, SizeOf(Info), @Info, 0);
 end;
 Application.MainForm.Repaint;
end;

посмотрите, прикольная штучка, может прикрутите


oldman   (2008-07-14 15:25:00) [3]


> Как сделать, чтобы после открытия диалогового окна типа
> TOpenDialog  оно не перекрывалось другими окнами.


Так делать нельзя!!!
Пока ты будешь настраивать параметры печати могут появиться системные сообощения, сообщения антивирусов, почтовые сообщения и т.д.
А в окнами твоей программы оно и так не должно перекрываться (если не сделать этого специально).


KilkennyCat   (2008-07-13 21:55:00) [4]

Какими другими окнами? вообще, или только своего приложения?


Наверх

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