![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
StayOnTop [D7, WinXP]
Neznaika © (2005-02-16 11:12:00)Подскажите что-нибудь для того чтобы сделать вторуюформу поверх всех окон.
З.Ы. С первой (главной формой)все ОК.
Neznaika (2005-02-16 14:11:00) [1]Johnmen © (16.02.05 13:57) [18]
спасибо попробую, правда сечас делфи под рукой нету...:)
Anatoly Podgoretsky (2005-02-16 14:02:00) [2]Neznaika © (16.02.05 13:45) [17]
Ну уже же сказали, выше всех нельзя - есть и другие желающие. Можно выше в всех в отдельно взятый период, оно и работает.
Johnmen (2005-02-16 13:57:00) [3]М.б. тебя так устроит ?
type
TYourForm = class(TForm)
...
private
procedure CreateParams(var Params: TCreateParams); override;
...
procedure TYourForm.CreateParams(var Params: TCreateParams);
begin;
inherited CreateParams(Params);
Params.WndParent := GetDesktopWindow;
end;
Neznaika (2005-02-16 13:45:00) [4]Ну как же быть мастера???
Neznaika (2005-02-16 13:24:00) [5]UP UP UP
Neznaika (2005-02-16 12:59:00) [6]Johnmen © (16.02.05 12:52) [12] извини не дождался твоего ответа...
Этот метод мне известен, он работает только для "главной" формы...
А как на счет второй?
З.Ы. Если я не правильно подбираю формулировку для "второй формы", обясню: File|New|Application, а затем File|New|Form, так вот эту вторую форму надо и вытащить как можно выше...
Johnmen (2005-02-16 12:58:00) [7]Что "это" ?
Neznaika (2005-02-16 12:54:00) [8]Не хотите ли Вы сказать, что это не реально?
Johnmen (2005-02-16 12:52:00) [9]Это другое дело, когда не говорим о всех. Напр. так:
В OnCreate формы
var Rect: TRect;
GetWindowRect(Handle,Rect);
SetWindowPos(Handle,HWND_TOPMOST,Rect.Left,Rect.Top,Rect.Right-Rect.Left,Rect.Bottom-Rect.Top, SWP_SHOWWINDOW);
Neznaika (2005-02-16 12:29:00) [10]>>Я не шучу и не надо наездов...
я и не наезжаю...
Просто хочу выяснить как это сделать...
Люди ведь делают как-то?...
Не зря же придумали StayOnTop, пусть даже для его полноценной работы надо дописать пару строк, к тому же известны методы как это сделать для главной формы...
Может я ошибаюсь на счет - выше всехокон, но как сделать "как можно выше" ...
DVM (2005-02-16 12:09:00) [11]
> Ниже нельзя по той же самойпричине
можно
TUser (2005-02-16 12:07:00) [12]
> Ниже всех можно, выше абсолютно нет!
Ниже нельзя по той же самойпричине
Johnmen (2005-02-16 12:04:00) [13]>Neznaika © (16.02.05 11:49) [5]
Я не шучу и не надо наездов...
DVM (2005-02-16 11:56:00) [14]Частичное решение проблемы SetWindowPos вкупе с WM_WINDOWPOSCHANGING
DVM (2005-02-16 11:54:00) [15]
> Уважаемый Johnmen © Вы либо шутите, либо никогда не встречали
> программ, в окне настроек которых, можно поставить галочку
> -"Поверх всех окон". Чего я собственно и хочу сделать...
Это невозможно в принципе. Доказательство очень простое: что будет с двумя копиями одной и той же программы, окна которой "поверх всех". Обе будут поверх друг друга?
Ниже всех можно, выше абсолютно нет!
Neznaika (2005-02-16 11:49:00) [16]Уважаемый Johnmen © Вы либо шутите, либо никогда не встречали программ, в окне настроек которых, можно поставить галочку -"Поверх всех окон". Чего я собственно и хочу сделать...
И еще встречаются, галочки - "Поверх скринсейвера"...тоже не плохо-бы узнать КАК?
msguns (2005-02-16 11:48:00) [17]>Johnmen © (16.02.05 11:45) [3]
>Тогда никак.
Зачем же так категорично ?
Johnmen (2005-02-16 11:45:00) [18]>Neznaika © (16.02.05 11:17) [2]
>поверх всех
Тогда никак. Потому, что может найтись окно, которое захочет того же.
Neznaika (2005-02-16 11:17:00) [19]>>Johnmen © (16.02.05 11:14) [1]
>>Поверх каких именно окон ?
поверх всех
>>Почему не третью ?
да хоть и третью,,, лишь бы не главную...
Johnmen (2005-02-16 11:14:00) [20]Поверх каких именно окон ?
Почему не третью ?