Главная страница
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
1-1082413199
Mishenka
2004-04-20 02:19
2004.04.11
Символ в строках


1-1080056808
Andrew
2004-03-23 18:46
2004.04.11
Model Family Stepping???


1-1082602472
Ormada
2004-04-22 06:54
2004.04.11
Длина в ПИКСЕЛЯХ Panel.Caption ?


4-1075492150
mixrud
2004-01-30 22:49
2004.04.11
Как получить текущую область обновления рабочего стола


1-1082540158
4aynik
2004-04-21 13:35
2004.04.11
Да как же открыть типиз-й файл для чтения? даже смешно :)