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

Вниз

Форма поверх всех окон   Найти похожие ветки 

 
Stalker01 ©   (2005-07-07 17:50) [0]

Как сделать форму, которая была бы поверх ВСЕХ остальных окон, делал sfStayOnTop, но при загрузки некоторых приложений, особено игр, форма все равно была под ними. Заранее спасибо.


 
Алхимик ©   (2005-07-07 17:52) [1]

А что будет если запустить ДВЕ программы , формы которых должны быть поверх ВСЕХ остальных окон? Что то типа Царь горы? :)


 
TUser ©   (2005-07-07 18:01) [2]

По таймеру делай Show.


 
begin...end ©   (2005-07-07 18:05) [3]

WM_WINDOWPOSCHANGING отлавливать не поможет?


 
Stalker01 ©   (2005-07-07 18:54) [4]


> TUser ©

Не помогает

> begin...end ©  

А можно подробнее?


 
TUser ©   (2005-07-07 18:59) [5]

> Не помогает

А мне помогает. Честное слово!


 
DiamondShark ©   (2005-07-07 19:03) [6]


> Алхимик ©   (07.07.05 17:52) [1]

Что будет если всесокрушающий снаряд попадёт в абсолютно непробиваемую стену?
Типа того.


 
begin...end ©   (2005-07-07 21:12) [7]

> Stalker01 ©   (07.07.05 18:54) [4]
> А можно подробнее?

Я не знаю, корректно так делать или нет, но попробовать можно.

Вначале делаем SetWindowPos(Handle, HWND_TOPMOST, Left, Top, Width, Height, SWP_SHOWWINDOW). А потом обрабатываем сообщение WM_WINDOWPOSCHANGING. Для этого в код формы нужно добавить обработчик:

type
 TForm1 = class(TForm)
 ...
 private
   procedure WMWindowPosChanging(var Message: TWMWindowPosChanging); message WM_WINDOWPOSCHANGING;
 ...
 end;

procedure TForm1.WMWindowPosChanging(var Message: TWMWindowPosChanging);
begin
 inherited;
 Message.WindowPos.hwndInsertAfter := HWND_TOPMOST
end.


 
Stalker01 ©   (2005-07-08 14:30) [8]

2begin...end
Идею понял, но у мня при этом на некоторых приложениях комп зависал, поэтому я сделал SetWindowPos на таймер, конечно некрасиво, зато работает.
Проблема в том, что моя форма выводиться поверх всех окон, но если имеется окно с частой перерисовкой (например игра), то моя форма просто зарисовываеться, графикой этого окна, хоть и находиться сверху. Пробовал делать по таймеру Repaint формы, но при этом она очень сильно мерцает, можно ли решить данную проблему?



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

Форум: "Основная";
Текущий архив: 2005.07.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.012 c
1-1120759192
Voland
2005-07-07 21:59
2005.07.25
Можно ли определить, _что_ нужно нажимать для вставки символа?


9-1113128033
Heks
2005-04-10 14:13
2005.07.25
Подскажите - изучать делать дальше?


1-1120934152
Michael5
2005-07-09 22:35
2005.07.25
Научите сплиттером пользоваться!


4-1117424627
LEXX_55
2005-05-30 07:43
2005.07.25
Как удалить файл зная только его расширение


14-1119959626
DVM
2005-06-28 15:53
2005.07.25
Вопрос знатокам FreeBSD (Unix). Не работает PHP!





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