Главная страница
    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.47 MB
Время: 0.039 c
4-1117814871
MANIAC_K
2005-06-03 20:07
2005.07.31
Перехват сообщения...


14-1120723568
uny
2005-07-07 12:06
2005.07.31
Как узнать внешний IP


1-1121159937
Goorus
2005-07-12 13:18
2005.07.31
Несколько вопросов по работе с вещественными числами


3-1119611318
jiny
2005-06-24 15:08
2005.07.31
Как перестроить таблицу индексов при запуске программы ?


9-1113763228
Yegorchic
2005-04-17 22:40
2005.07.31
Как определить виден ли объект на сцене через определённую камеру





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский