Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Вниз

Неперекрывающееся окно   Найти похожие ветки 

 
Gero ©   (2004-03-18 19:29) [0]

Как сделать, чтобы окно занимало определённую часть экрана и не могло перекрываться другими окнами, наподобии панели задач?


 
Gero ©   (2004-03-18 22:51) [1]

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


 
Gero ©   (2004-03-19 09:40) [2]

Хм, все проигнорировали. Неужто не знает никто?
Наверное, все мастера в отпуске.
Может статью посоветуете, ссылку дадите, может мне хелп по какой-либо функции смотреть стоит?
Вот уж не думал, что и здесь ответа не получу.


 
Reindeer Moss Eater ©   (2004-03-19 10:05) [3]

Допустим ты узнал как сделать такое окно.

Окно создалось и ничем не перекрывается.
Теперь создаем второе точно такое же козырное окно и размещаем его поверх первого.

Что должно наступить?
Вселенская катастрофа или понимание, что такое окно невозможно создать?


 
Gero ©   (2004-03-19 10:25) [4]

> Reindeer Moss Eater ©   (19.03.04 10:05) [3]

> Теперь создаем второе точно такое же козырное окно
> и размещаем его поверх первого.
> Что должно наступить?

Второго такого окна быть не должно.
Просто оно должно устанавливать клиентскую область для остальных окон, а само находится отдельно.

> понимание, что такое окно невозможно создать
Такое окно можно создать. Смотрите [1].

Кроме того, что есть в вашем представлении панель задач?
В моём это окно, которое не прекрывается другими.


 
Плохиш   (2004-03-19 10:31) [5]

> Gero ©   (19.03.04 10:25) [4]

> Второго такого окна быть не должно

Ага, как только появилось, стираем систему

> Кроме того, что есть в вашем представлении панель задач?
> В моём это окно, которое не прекрывается другими.

Прекрасно перекрывается. Style = StayOfTop


 
Gero ©   (2004-03-19 10:38) [6]

> Ага, как только появилось, стираем систему

Скажите мне, видели ли когда нибудь сразу два Taskbar"a?
И систему explorer тоже вроде не стирает...

> All

Хорошо, поставлю вопрос по-другому.
Как сделать окно, которое вело бы себя так же, как TaskBar?


 
Reindeer Moss Eater ©   (2004-03-19 11:13) [7]

В стандартном (не твоем shell"е) ты никогда не сделаешь такого окна.
Иначе смотри [3].


 
Gero ©   (2004-03-19 11:27) [8]

> Reindeer Moss Eater ©   (19.03.04 11:13) [7]

Все дело и заключается в том, что я пишу свой Shell!
А вот как сделать, чтобы мой таскбар вёл себя должным образом, не знаю.


 
Gero ©   (2004-03-19 13:11) [9]

Все-таки никто не знает...
Видимо, здесь реально получить ответ только на простые вопросы.
На чуть более сложные - нет...
Жаль. Пойду на Королевство Delphi, может хоть там мне ответят.


 
Gero ©   (2004-03-21 17:36) [10]

Вот, нарыл: SystemParametersInfo(SPI_SETWORKAREA, ...);
Устанавливает рабочую область для окон.
Неужели никто не знал?

Только рабочая область устанавливается для всех окон, и для моего taskbar"a тоже.
А он должен быть за пределами этой области. Как мне поступить?


 
vk_3057 ©   (2004-03-24 15:35) [11]

Application.BringToFront;


 
LexXP ©   (2004-03-24 16:34) [12]

Когда-то давно делал подобное, исодников под рукой нет. Но искать надо кажется в районе SetWindowLong


 
Defunct ©   (2004-03-24 16:40) [13]

2 Gero

Информация к размышлению.
Когда PROMT или MS-Office ставит свою "козырную" или простите за выражение, но лучше сказать "гавеную" панель, которая урезает клиентскую область, первым делом что хочется сделать - это узнать как такую панель снести.

Может не стоит вообще этим заниматься?


 
evvcom ©   (2004-03-24 16:55) [14]


> первым делом что хочется сделать - это узнать как такую
> панель снести.

Полностью поддерживаю. Никогда у меня на рабочем столе не было таких "гавенных" панелей! И даже стандартный таскбар всегда настраиваю на автоматическое скрытие.

2 Gero: если это чистое любопытство, то могу только позавидовать, что есть на это время, если же это делается из каких-либо иных побуждений, то лучше бы заняться чем-то более полезным. Это мое мнение, и я его никому не навязываю...


 
Gero ©   (2004-03-24 16:56) [15]

> Defunct ©   (24.03.04 16:40) [13]

Это всё я знаю. Повторюсь: я пишу свой Shell.
И taskbar должен быть наверху.

> All
Все, проблему решил сам. Всем отвечавшим - спасибо.


 
GD   (2004-03-25 07:29) [16]

Сдедай так, что допустим:
Form1.Enabled:=true в событии или в OnTimer или в другом.
2, Я не понял что ты имееш в виду насчёт перекрывания части экрана, но может посмотри BorderStyle где ты пожешь сделать так,
чтобы ты не мог изменить размеры окна,В событии On Timer
ты можешь поставить координаты(Left,Top)куда твоё окно будет возвращаться при попытке перемещения окна.



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

Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.045 c
4-1075481587
Hotabich
2004-01-30 19:53
2004.04.11
Помещение картинки на форму


3-1081934441
kalishenko
2004-04-14 13:20
2004.04.11
Фильтр по дате


1-1082544641
TUser
2004-04-21 14:50
2004.04.11
Васик и SY576


1-1082357539
wezz
2004-04-19 10:52
2004.04.11
Не устанавливается StatusBar1.Panels[0].Text


9-1069917335
Агент Смит [8]
2003-11-27 10:15
2004.04.11
Ломаная линия OpenGL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский