![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Некорректная работа wsMaximized [D6, WinXP]
Yozch1 © (2007-02-07 21:31:00)Если у главной формы стоит wsMaximized, то при окрытии она открывается на все окно в прямом смысле - т.е. нижняя часть уходит под панель задач WinXP, при восстановлении-макмализации она в максимуме ведет себя так же, о уже поверх окна задач.
Чем это вылечить? Уже все параметры перебрал.
Yozch1 (2007-02-11 15:20:00) [1]ап
Desdechado (2007-02-09 16:29:00) [2]Откопал ту программу и ее исходники.
У главной формы стоит
FormStyle = fsMDIForm
Position = poDesktopCenter
WindowState = wsMaximized
и поведение, описанное в [9] на ноуте (там шкурки у XP). На десктопе с классической темой нет такого.
DHDD (2007-02-09 12:36:00) [3]Чтобы не было глюков - свойство wsMaximized надо выставлять в FormCreate.
Palladin (2007-02-09 00:26:00) [4]
> Yozch1 (08.02.07 18:25)
не все то, что ты не понимаешь - есть глюк
Anatoly Podgoretsky (2007-02-08 22:27:00) [5]> Palladin (08.02.2007 22:26:14) [14]
Так я тоже и сказал об этом сразу, проблема у автора, конфликт установок.
Palladin (2007-02-08 22:26:00) [6]
> [13] Anatoly Podgoretsky ©
а я и никаких претензий к борланду не имею по этому поводу...
Anatoly Podgoretsky (2007-02-08 22:23:00) [7]> Palladin (08.02.2007 22:16:10) [10]
Не обязательно, что угодно кроме poScreenCenter, иначе наступает логическое противоречие и poScreenCenter имеет преимущество. Но это не какого отношения к wsMaximized не имеет, работает правильно в соответствии с другими установками.
Palladin (2007-02-08 22:21:00) [8]хреново ты помнишь
Kolan (2007-02-08 22:19:00) [9]«лечится TForm.Position:=poDesktopCenter»
Да тока в D6 Её нет насколько я помню
Palladin (2007-02-08 22:16:00) [10]проявляется при TForm.Position:=poScreenCenter
лечится TForm.Position:=poDesktopCenter
Desdechado (2007-02-08 19:20:00) [11]Я наблюдал подобную картину, но так и не смог диагностировать причину. Один и тот же EXE на разных машинах вел себя 2 разными способами (пробовали на XP со шкурками и без, на ноуте и десктопе):
1 вариант - все корректно
2 вариант - максимизированное окно смещается пикселов на 10 вниз, т.е. через эти 10 верхних пикселов экрана можно добраться до раб. стола. При этом нижние 10 пикселов заползали под таскбар. Восстановление размеров и снова максимизация не спасала. Delphi 7.1
Одно дополнение - так вела себя единственная написанная в стиле MDI программа, остальные SDI - нормально.
Anatoly Podgoretsky (2007-02-08 19:10:00) [12]Легче всего сказать, что Борланд виноват, но не я любимый
Yozch1 (2007-02-08 18:25:00) [13]нет, ребята, это глюк дельфей, во всяком случае шестых.
год-два назад видел его решение, но сейчас не могу найти.
То ли VCL запиливался, то ли набор манипуляций при старте...
Kolan (2007-02-08 17:48:00) [14]> За wsMaximized описанного тобой не замечено.
Подерживаю.
Anatoly Podgoretsky (2007-02-08 16:55:00) [15]У тебя другие характеристики вступают в противоречие с данной.
За wsMaximized описанного тобой не замечено.
Rial (2007-02-08 10:25:00) [16]У меня тоже были подобного рода глюки.
Я нашел выход - перехватывать некоторые сообщения вручную,
в том числе учитывать начало изменения размеров, конец, активность
окна и т.п.
Короче говоря, средствами VCL у меня тоже не вышло испраить ситуацию :(
RASkov (2007-02-08 07:44:00) [17]"Эффекта" из вопроса у себя не добился. Все нормально всегда. Т.е. форма при максимизации заполняет весь десктоп за вычетом панели задач.
> [0] Yozch1 (07.02.07 21:31)
> [2] Германн © (08.02.07 00:51)
Может Constraints.MaxHeight=Screen.Height-высота таскбара? Кстати, почему после таких махинаций форму, развернутую на весь экран, можно таскать за заголовок?
Германн (2007-02-08 00:51:00) [18]
> Джо © (07.02.07 22:28) [1]
>
> А что нужно-то? Чтобы она поверх панели задач была всегда?
>
Имхо, автору нужно чтобы форма при максимизации занимала весь десктоп за вычетом панели задач. У меня тоже иногда это не получалось. Я решения не нашёл, да и не искал особо :(
Джо (2007-02-07 22:28:00) [19]А что нужно-то? Чтобы она поверх панели задач была всегда?