Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.31;
Скачать: CL | DM;

Вниз

HWND_TOPMOST не работает   Найти похожие ветки 

 
Torvald   (2005-05-30 22:27) [0]

Добрый вечер.
Столкнулся с проблемой - надо вывести окно поверх всех окон системы. Первым делом попробовал следующий код

 if not SetWindowPos(Handle, HWND_TOPMOST,0,0,0,0,
   SWP_NOSIZE or SWP_NOMOVE) then
   showmessage("Fail");


функция возвращает true, но окно поверх всех окон только в моей программе!
Попробовал другой вариант:

var
 dwStyle: integer;
begin
 dwStyle := GetWindowLong(self.Handle, GWL_EXSTYLE);
 SetWindowLong(self.Handle, GWL_EXSTYLE, dwStyle or WS_EX_TOPMOST);


тот же эффект - окно активно только внутри моей программы.

Вставлял эти вызовы повсюду: OnCreate, OnShow, OnActivate, просто по нажатию кнопки.

Небольшая оговорка, если я применяю эти функции к главной форме - всё отлично работает, а не в главной, как мне и надо - не работает.

Помогите please!


 
Torvald   (2005-05-30 22:33) [1]

а не в главной, как мне и надо - не работает.

вернее как мне НЕ надо )


 
Marser ©   (2005-05-30 22:40) [2]


> тот же эффект - окно активно только внутри моей
> программы.

Это что-то не то...


 
Torvald   (2005-05-30 22:43) [3]

Это что-то не то...

Вот и я ж про то! Уже 2 часа инет рою по этому вопросу.
У формы стиль без рамки - BorderStyle = bsNone, но ставил с рамкой - одно и тоже.


 
alex-drob   (2005-05-30 22:45) [4]

Посмотри, может поможет
http://delphimaster.net/view/1-1117211366/


 
Torvald   (2005-05-30 22:49) [5]

alex-drob

ОГРОМНЕЙШЕЕ СПАСИБО!
Действительно всё работает!


 
Игорь Шевченко ©   (2005-05-31 10:09) [6]

И альтернативный вариант:

procedure TForm1.CreateParams (var Params : TCreateParams);
begin
 inherited;
 with Params do begin
   Style := (Style or WS_POPUP) and (not WS_CHILD);
   WndParent := HWND_DESKTOP;
 end;
end;

Потом тот же самый вызов функции SetWindowPos в удобном месте, например в TForm1.OnActivate


 
Torvald   (2005-05-31 13:32) [7]

Игорь Шевченко ©   (31.05.05 10:09) [6]

Спасибо, гляну.


 
GrayFace ©   (2005-05-31 16:31) [8]

Игорь Шевченко ©   (31.05.05 10:09) [6]
А почему так происходит?


 
Игорь Шевченко ©   (2005-05-31 16:35) [9]

GrayFace ©   (31.05.05 16:31) [8]


> А почему так происходит?


Сатурн наверное из созвездия Весов выходит, верно ?


 
GrayFace ©   (2005-06-02 21:43) [10]

Игорь Шевченко ©   (31.05.05 16:35) [9]
Сатурн наверное из созвездия Весов выходит, верно ?

Почему же?



Страницы: 1 вся ветка

Текущий архив: 2005.07.31;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.03 c
14-1120591020
Гаврила
2005-07-05 23:17
2005.07.31
Код да Винчи


14-1120844696
Kerk
2005-07-08 21:44
2005.07.31
Сдохло колесико у мышки :(


14-1120981119
Kvartirant777
2005-07-10 11:38
2005.07.31
Едем в Крым?! :)


1-1120922185
KyRo
2005-07-09 19:16
2005.07.31
Как убрать стандартную реакцию


1-1120813858
Shlomo
2005-07-08 13:10
2005.07.31
ClientDataSet: проблема с Lookup полем.