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

Вниз

Отображение на панели задач Windows   Найти похожие ветки 

 
nomadpo   (2003-10-06 15:31) [0]

Как сделать чтобы каждое окно отображалось на панели задач, как в Excel 2000, я знаю, но при этом возникает еще одно невидимое окно (самое первое на нижней панели), которое по-видимому является Application (по крайней мере Title у него такой же). Причем это окно по Alt-Tab не видно.
Как избавиться от его отображения в нижней панели?


 
Семен Сорокин ©   (2003-10-06 15:48) [1]

procedure TForm1.CreateParams(var Params :TCreateParams);
begin
inherited CreateParams(Params);
Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW
end;


 
nomadpo   (2003-10-06 15:53) [2]

Спасибо, но как я уже сказал, это я знаю.
Я так и сделал, но вместо двух окон (иконок на панели задач внизу) у меня появилось три. ПРи этом первое из них - это мой Application - при нажатии на него активизируется приложение в целом (т.е. то окно, которое было активным до этого).
Если не делать главное окно WS_EX_APPWINDOW, то тогда к нему по Alt-Tab не достучаться и по панели не перейти, только на рабочем столе можно выбрать. Не удобно, а хотелось бы иметь столько иконок, сколько окон и переключаться между ними свободно.


 
Семен Сорокин ©   (2003-10-06 16:02) [3]

тогда гаси этот параметр у активного окна


 
nomadpo   (2003-10-06 16:14) [4]

А что это даст? Ничего не изменилось.


 
Семен Сорокин ©   (2003-10-06 16:22) [5]

твоя задача: сейчас 3 закладки, причем, 2 из них - окна, а одна - приложение. Т.е. выбор закладки "приложение" или "активное окно" - одно и то-же действие. Приложение убирать не следует, чтобы можно было достучаться по Alt-Tab, значит остается убрать закладку активного окна, при смене активного окна - его стиль восстанавливать, а у нового - снимать, геморройно, но должно прокатить для твоей задачи.


 
nomadpo   (2003-10-06 16:37) [6]

Спаибо за идею, но у меня кое-что не получается...
Извиняюсь за незнание, но как обновить для Windows информацию о стиле окна, когда я его меняю при Visible=true ничего не происходит? Обновление происходит только когда пользователь переключается между окнами сам мышкой?


 
Семен Сорокин ©   (2003-10-06 16:40) [7]

SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_APPWINDOW)


 
nomadPo   (2003-10-06 17:07) [8]

Это я знаю, но эффект от смены аттрибутов виден только после смены активного окна и возврата к нему :((
Я попробовал сделать, как вы мне посоветовали и получилось странное поведение:
сначала две закладки как положено (но правда при переключении не меняется активная закладка на панели задач - всегда активна закладка приложения) После того как я сворачиваю и разворачиваю все приложение опять появляются три закладки. А при закрытии окна оно вообще не исчезает с панели.
Может я что-то не врубился конечно!



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

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

Наверх




Память: 0.48 MB
Время: 0.03 c
14-51490
Daniel
2003-09-28 17:37
2003.10.16
Массив строк в asm


8-51350
WhiteSnow
2003-06-12 12:43
2003.10.16
Ещё раз про MP3


3-51137
dtm
2003-09-23 17:51
2003.10.16
Тут пролетал запрос, возвращающий


1-51334
Islander
2003-10-05 11:42
2003.10.16
Компонент на основе TTreeView. Переопределение OnEdited


14-51472
stone
2003-09-29 13:14
2003.10.16
Поломался Интернет :)