|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Всегда на самом видном месте
Вопрос такой.
Нужно чтобы форма была абсолютно всегда видна. Она должна быть поверх всех окон, де должна сворачиваться ни при каких условиях, таких как win+D, win+M, ярлык свернуть все окна и т.д. При этом вовсе не обязательно, чтобы фокус был постоянно на форме. Вдобавок ко всему, нужно убрать кнопку приложения с панели задач. Я пробовал использовать Прошу не предлагать fsStayOnTop (с инспектором я уже давно знаком). Против минимизации приложения хорошо помогает следующая процедура Код:
procedure Tsensor.CreateParams(var Params: TCreateParams); begin inherited CreateParams(Params); with Params do begin WndParent := GetDesktopWindow; end; ShowWindow(Application.Handle,SW_HIDE) end; Но она обязательно создает кнопку на панели задач (причем на каждую форму, использующую эту процедуру будет создаваться отдельная кнопка, что ни в какие ворота не лезет) Итого, повторюсь: нужно несворачиваемое приложение поверх всех окон и без кнопок в таксбаре. Заранее спасибо) Тех, кто презирает программистов, программисты презирают сильнее, чем те, кто презирает программистов, презирающих программистов, которые презирают тех, кто из презирает Последний раз редактировалось Darkness, 30.07.2010 в 13:23. |
#2
|
||||
|
||||
Зачем? . . . . . . .
Для чего? . . . . . . . |
#3
|
||||
|
||||
Ну например что-бы пользователь не мог убрать это окно не заплатив денюжку, или скажем для нестандартных операций с чужим приложением.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#4
|
||||
|
||||
меня этот вопрос тоже интересует, но в благих целях
Последний раз редактировалось Admin, Сегодня в 10:32. |
#5
|
||||
|
||||
Зачем? хм. ну это является необходимым условием функционирования. Я даже не ожидал такого вопроса)
Если будет душе спокойнее, то я написал прогу, которая имеет маленькую формочку, никому не мешающую, находящуюся где-то в углу экрана. При наведении на нее плавно появляется окошко со списком часто используемый мной ссылок, чтобы не искать их в адресной строке (если чищу куки, то это и вовсе бесполезно) http://s43.radikal.ru/i100/1007/fe/e10eb55967aa.png вот такого вида окно. Прога исключительно для меня. поэтому я даже не предусматривал возможности поменять в настройках эти ссылки. Я не настолько крут, чтобы писать прогу, которой бы пользовались другие. Для себя - всегда пожалуйста. Ну а теперь, когда я удовлетворил ваше страждущее любопытство, все же по делу) Тех, кто презирает программистов, программисты презирают сильнее, чем те, кто презирает программистов, презирающих программистов, которые презирают тех, кто из презирает |
#6
|
||||
|
||||
поставь в таймере:
Код:
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE or SWP_NOACTIVATE); Arrrgh |
#7
|
||||
|
||||
Попробовал только что. действительно помогает оставаться наверху не отбирая фокус у других приложений.
однако допускает сворачивание. Можно попробовать совместить этот код с другим, который запрещает минимизацию, но тот что я привел в первом сообщении, он создает кнопку на таксбаре, а это недопустимо. Есть ли у кого идеи, как еще можно запретить окну (или приложению вцелом) сворачиваться? Проблема стейонтопа вроде бы решена. и, кстати, я пробовал прописать это на форм криейт. достаточно это выполнить при создании формы. так что даже и таймер не потребовался) Спасибо Тех, кто презирает программистов, программисты презирают сильнее, чем те, кто презирает программистов, презирающих программистов, которые презирают тех, кто из презирает |
#8
|
||||
|
||||
два варианта:
Код:
BorderIcons := [biSystemMenu]; Код:
... private procedure WMSysCommand(var Message: TWMSysCommand); message WM_SYSCOMMAND; ... procedure TForm1.WMSysCommand(var Message: TWMSysCommand); begin with Message do if not (CmdType and $FFF0 = SC_MINIMIZE) then inherited; end; Arrrgh |
#9
|
||||
|
||||
Application.OnMinimize, Application.Restore?
Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#10
|
||||
|
||||
Цитата:
Arrrgh |
#11
|
||||
|
||||
Цитата:
Это не подходит. Ваш вариант либо убирает кнопку свернут из заголовка либо блокирует ее. Дело в том, что у меня форма без границ. и этой кнопки у меня вообще нет. Мне нужно, чтобы форму нельзя было свернуть через ярлык "свернуть все окна" или через win+D. Попробую поступить по-другому. Подскажите как перехватить момент сворачивания формы и, скажем, если она сворачивается, присвоить какому-то булину тру? Тех, кто презирает программистов, программисты презирают сильнее, чем те, кто презирает программистов, презирающих программистов, которые презирают тех, кто из презирает Последний раз редактировалось Darkness, 30.07.2010 в 14:02. |
#12
|
||||
|
||||
Все это дурно пахнет.
Пользователь должен всегда иметь возможность закрыть/свернуть окно. |
#13
|
||||
|
||||
Согласен. Кроме случая, когда прогу я пишу для себя. тут я сам себе определяю требования к уровню комфорта в работе с ней.
Как ее закрыть? - Двойной щелчек по форме, наведение курсора на которую и обрабатывается. Что за прога? - Читай выше. Если хочешь, я даже могу поделиться и показать, что успел сделать) Да. и пусть вас не пугает правая часть окна, где написано Отправить смс. Это 4 украинских оператора, на сайте которых есть сервис бесплатной отправки смс-ок. Мало ли, может захочу друзьям написать, а денег жалко -------------- Ктонидь подскажите, как обработать событие при сворачивании приложения и добавить "трушности" некоторой переменной в случае сворачивания. Я решил сделать иначе. пусть окно сворачивается, но если окно выбора ссылок у меня висит на экране, то при сворачивании оно закрывается. меня такой вариант устраивает.) Тех, кто презирает программистов, программисты презирают сильнее, чем те, кто презирает программистов, презирающих программистов, которые презирают тех, кто из презирает Последний раз редактировалось Darkness, 30.07.2010 в 14:19. |
#14
|
||||
|
||||
а, все. это я уже нашел. в общем, вопрос исчерпан, всем спасибо за участие, кое-что интересное отсюда я-таки вычерпал)
Тех, кто презирает программистов, программисты презирают сильнее, чем те, кто презирает программистов, презирающих программистов, которые презирают тех, кто из презирает |