Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.037 c
1-1082963788
bon
2004-04-26 11:16
2004.04.11
TToolBar


1-1079955112
stud
2004-03-22 14:31
2004.04.11
в чем может быть ошибка??


7-1075484867
$tranger
2004-01-30 20:47
2004.04.11
Версия DirectX


14-1082099543
Yorick
2004-04-16 11:12
2004.04.11
Фильм "Страсти Христовы"


1-1082741990
Lena19
2004-04-23 21:39
2004.04.11
checkbox1.Font.Color:=clred; а в ответ тишина




   Наверх