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

Вниз

Окно приложения по верх всех окон системы   Найти похожие ветки 

 
lightix   (2004-10-07 10:32) [0]

Имеется некое приложение, в нем несколько форм .
Нужно чтобы одна из форм была всегда видна поверх всех окон , причем поверх всех приложений запущеных в системе.
Идея такая  - показывать пользователю на отдельной плавающей панельке часы и индикатор языка, какие бы приложения он ни запускал.


 
Jay   (2004-10-07 10:39) [1]

FormStyle := fsStayOnTop


 
КаПиБаРа ©   (2004-10-07 10:39) [2]

F1 - FormStyle


 
Жбан   (2004-10-07 10:40) [3]

FormStyle := fsStayOnTop;


 
lightix   (2004-10-07 10:40) [4]

FormStyle := fsStayOnTop - не работает почему-то


 
lightix   (2004-10-07 10:41) [5]

или при FormStyle := fsStayOnTop  ее нужно не Show вызывать а по-другому как то?


 
Jay   (2004-10-07 10:42) [6]

Если два окна fsStayOnTop, то отображается активное.


 
lightix   (2004-10-07 10:46) [7]

4 окна, из них одно StayOnTop - перекрывают даже они, не говоря уже об окнах других приложений


 
Жбан   (2004-10-07 10:46) [8]

Может у тебя уже есть окно fsStayOnTop. И если оно активное, то будет перекрывать твое окно


 
lightix   (2004-10-07 10:48) [9]

нету у меня никакого другого StayOnTop
Одно. И перекрывается


 
lightix   (2004-10-07 10:51) [10]

Странно. Сделал новое приложение из 2-х форм - одна Normal другая StayOnTop - не перекрываются.
А вот переключился на IE чтобы написать это письмо - IE ее перекрыл. А мне нужно чтобы ПОВЕРХ ВСЕХ ПРИЛОЖЕНИЙ была!


 
Жбан   (2004-10-07 10:54) [11]

Я вот щас попробовал повторить твой пример - у меня IE не перекрывает мою форму...


 
DVM ©   (2004-10-07 10:55) [12]


> Нужно чтобы одна из форм была всегда видна поверх всех окон
> , причем поверх всех приложений запущеных в системе.

Невозможно в принципе. Доказательство простое: что будет, если запустить две таких программы? Обе будут поверх друг друга?

Частично это можно решить с пом SetWindowPos() и обработкой WM_WINDOWPOSCHANGING.

Поверх всего только менюшка монитора с настройками изображения.:)


 
lightix   (2004-10-07 10:56) [13]

да что ж такое :(
у меня BCB 5.0


 
Johnmen ©   (2004-10-07 10:56) [14]

>lightix
>мне нужно чтобы ПОВЕРХ ВСЕХ ПРИЛОЖЕНИЙ была!

А как ты себе представляешь, если др.приложение тоже захочет ?


 
КаПиБаРа ©   (2004-10-07 11:00) [15]

DVM ©   (07.10.04 10:55) [12]
Невозможно в принципе.


А драйвер видеокарты?


 
lightix   (2004-10-07 11:03) [16]

Тогда может подскажете как решить такую проблему:
Пользователи логинятся на сервер терминалов вин2к, автоматически запускается программа "Меню", которая в зависимости от пользователя динамически строит для него менюшку, из которой запускаются приложения.
При всем этом юзера не видят ни свой таскбар, ни таскбар сервера.
А им необходимо (аж вопят) видеть часы и текущий выбранный язык.
Идея была такая - сделать плавающую панельку, на которой бы телепались эти часы и индикатор раскладки клавиатуры.
Ну и другой вариант - делать в каждой проге такую панельку :(

Кстати насчет невозможности такого - у PROMTa же есть такая панелька! или возьмите к примеру плавающую панель MS Office.


 
DVM ©   (2004-10-07 11:04) [17]


> А драйвер видеокарты?

Драйвера не все умеют. И это уже совсем др. песня. На 3 порядка сложнее будет.
А менюшка монитора все равно выше.
А еще выше липкая бумажка, наклеенная на монитор. :)


 
Jay   (2004-10-07 11:08) [18]

Сделай Align у главной формы alClient и не разворачивай её на весь экран


 
lightix   (2004-10-07 11:09) [19]


> Jay   (07.10.04 11:08) [18]
> Сделай Align у главной формы alClient и не разворачивай
> её на весь экран

И что толку? Окно клиента терминалов закроет таскбар юзера, а на сервере терминалов таскбар вообще не показывается (ну нельзя в принципе им показать его)


 
КаПиБаРа ©   (2004-10-07 11:09) [20]

lightix   (07.10.04 11:03) [16]
аю

У главной формы
FormStyle := fsStayOnTop


 
DVM ©   (2004-10-07 11:10) [21]


> При всем этом юзера не видят ни свой таскбар

А куда панель задач то девается?

Вообще-то панель задач делает так: когда активируется топ-левел окна, окно панели задач двигается наверх. Делается хуком WH_SHELL.


 
Жбан   (2004-10-07 11:17) [22]

Можешь попробовать в событии OnDeactivate своей формы заставлять быть форму активной - тогда она всегда будет на верху по отношению к другим формам StayOnTop, даже если те будут пытаться получить фокус.


 
lightix   (2004-10-07 11:18) [23]

Дело в том что приложения запускаются не на компьютере юзера а на сервере терминалов, и приложение не имеет доступа к системе и тем более таскбару компьютера пользователя. во как загнул :)


 
lightix   (2004-10-07 11:20) [24]


> Жбан   (07.10.04 11:17) [22]
> Можешь попробовать в событии OnDeactivate своей формы заставлять
> быть форму активной - тогда она всегда будет на верху по
> отношению к другим формам StayOnTop, даже если те будут
> пытаться получить фокус.

Скорее на OnDeativate приложения (меню) а не формы, ибо меню вызывает через WinExec другие приложения, и Deactivate формы не происходит


 
lightix   (2004-10-07 11:21) [25]

Давайте лучше я заведу новую ветку и назову ее "Как сделать приложение подобное панели MS Office" :)


 
DVM ©   (2004-10-07 11:25) [26]


> Дело в том что приложения запускаются не на компьютере юзера
> а на сервере терминалов, и приложение не имеет доступа к
> системе и тем более таскбару компьютера пользователя. во
> как загнул :)

для программ нет почти никакой разницы локально или через терминал их запускают. Все(почти), что работало локально, заработает и в терминале. Если это терминал Windows.

> "Как сделать приложение подобное панели MS Office" :)

ShAppBarMessage()



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

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

Наверх




Память: 0.53 MB
Время: 0.024 c
1-1097057165
Cosinus
2004-10-06 14:06
2004.10.24
Как получить Handle системного Popup меню?


1-1097356024
Zvrb
2004-10-10 01:07
2004.10.24
Как перевести код C++ в Delphi ?


3-1096208788
eugene32
2004-09-26 18:26
2004.10.24
Вопрос про TDataSet и TQuery


6-1092911031
Serguar
2004-08-19 14:23
2004.10.24
TIdTCPServer. Корректное завершение работы


4-1094031371
Fabo
2004-09-01 13:36
2004.10.24
изменение размера сектора