Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.07.31;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.07.31;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.044 c
14-1120670023
Cheater
2005-07-06 21:13
2005.07.31
Можно ли послать сообщение по локальной сети используя...


9-1113654004
Fords
2005-04-16 16:20
2005.07.31
Кому надо


1-1121092736
mm0
2005-07-11 18:38
2005.07.31
Проблема с JPEG.Что за бракованые картинки?


14-1120766682
ferr
2005-07-08 00:04
2005.07.31
Страна дураков.


9-1113506736
Fords
2005-04-14 23:25
2005.07.31
Физика GLScene





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский