![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Диалоговое окно не должно перекрываться другими окнами [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]Какими другими окнами? вообще, или только своего приложения?