Текущий архив: 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.5 MB
Время: 0.039 c