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

Вниз

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

 
Grinder ©   (2004-02-02 13:49) [0]

мастера, может кто подскажет, как для неглавного окна сделать так, чтобы в системе оно было поверх всех?


 
Игорь Шевченко ©   (2004-02-02 14:06) [1]

Parent"ом ему назначить HWND_Desktop и SetWindowPos (YourHandle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE);

Окно должно иметь стиль WS_POPUP


 
grinder ©   (2004-02-02 18:58) [2]

а вызывать его что-ли по таймеру?
Я написал такую процедурку

// Окно поверъ других
procedure OnTop(Form: Thandle; const ShowOnTop: Boolean);
var
 Where: HWnd;
begin
 if ShowOnTop then begin
   Where := HWND_TOPMOST;
   SetParent(form, HWND_Desktop);
 end
 else
   Where := HWND_NOTOPMOST;
 SetWindowPos(Form, Where, 0, 0, 0, 0,
   SWP_NOACTIVATE or SWP_NOMOVE or
   SWP_NOSIZE or SWP_NOSENDCHANGING);
   BringWindowToTop(Where);
end;

но как только создаю ещё одно окно, то это свойство приходится снова вызывать.


 
DVM ©   (2004-02-02 19:05) [3]


> но как только создаю ещё одно окно, то это свойство приходится
> снова вызывать.

По таймеру, по таймеру. Причем выше будет тот, чей таймер чаще. А еще выше будут игры под DirectX.

А как ты думаешь, что будет если запустить две копии твой программы? :)


 
Grinder ©   (2004-02-03 00:20) [4]

2 копии не запустешь. Нельзя. А по таймеру моргание идёт нехорошее. Вот что плохо. Пробовал на Application.OnIdle. Тоже.



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

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

Наверх




Память: 0.47 MB
Время: 0.03 c
14-1079305222
putyaga
2004-03-15 02:00
2004.04.11
за мобилу


1-1079931841
_Андрей
2004-03-22 08:04
2004.04.11
Ошибка при обращении к файлу


3-1081546442
Gott
2004-04-10 01:34
2004.04.11
Способ хранения Memo полей


1-1082401016
tivispider
2004-04-19 22:56
2004.04.11
помогите оптимизировать код


1-1082449333
Talle
2004-04-20 12:22
2004.04.11
Динамически создаваемые компоненты