![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SVISTAPLYASKA - разработка приложения для Vista в Delphi 7 [D6, D7, Win95/98, WinXP]
TIF © (2007-11-12 12:33:00)В Vista открыл свой проект и ахнул: у меня на форме было много картинок, располагающихся рядом. Так вот, они были пригнаны плотно друг к другу, например размер их был 100х50. В Vista сами Image расширились, стали где-то 120х70, естественно картинка болтается по центру этой области и не касается соседних.
И так случилось со всеми Image-ами. В XP всё нормально.
Изменения коснулись и других компонентов - использую красивые графические компоненты, так у них тоже поехали ширина, высота...
Самый прикол в том, что когда всё подогнал, скомпилил в Vitsa и открыл потом exe-шник в XP, то ... всё сузилось!
Неужели придётся как-то программировать задание размеров компонентов в зависимости от типа операционки? Абсурд! Либо создавать два идентичных приложения, различающихся только размерами компонентов, что не лучше.
Ничего не понимаю! Может в Vista какие-то коэффициенты пересчёта размеров? Или как-то влияет разрешение, масштабирование экрана? Кто сталкивался с чем-либо подобным или знает, в чём тут может быть дело? Плз, помогите.
PS: просьба советов типа: "Зачем тебе виста, пиши в ХР и работай в ХР" - не давать.
Sorry за возможные ошибки в тексте
TIF (2007-11-28 15:01:00) [21]тут предлагают 205 делыу. А у неё тоже ведь глюки пойдут? а?
TIF (2007-11-27 17:32:00) [22]мда, никтоничем что-ли н может помочь?
DVM (2007-11-23 16:40:00) [23]
> а на Turbo Delphi можно написать приложение, корректно работающее
> под вистой?
Его можно написать и на Delphi 7. И даже на Delphi 2.
Количество же глюков среды разработки в Delphi 2007 просто поражает воображение.
Dennis I. Komarov (2007-11-23 14:36:00) [24]> [17] TIF © (23.11.07 14:28)
В TDelphi низя юзать сторонние компоненты в Design-Time. Если конечно бесплатно юзаешь TDelphi. Это так, предупреждение.
TIF (2007-11-23 14:28:00) [25]Интересно, а на Turbo Delphi можно написать приложение, корректно работающее под вистой? А то может мне его скачать?
TIF (2007-11-20 17:57:00) [26]
> но как то устранил, не помню уже.
а может, всё-таки вспомните?
DVM (2007-11-19 12:37:00) [27]
> интересно. Тогда что это за волшебные сочетания? Как их
> избежать?
Я досконально не разбирался, но как то устранил, не помню уже.
TIF (2007-11-19 12:23:00) [28]
> глюки проявляются только при определенных сочетаниях якорей
> и выравниваний и то не у всех контролов.
интересно. Тогда что это за волшебные сочетания? Как их избежать? И какие контролы можно использовать, чтобы глюков не было?
DVM (2007-11-13 22:01:00) [29]
> На XP и D7 делаю прогу, причем использующую paradox, запускаю
> ее на висте, все работает и картинки никуда не уезжают.
Парадокс тут точно не по теме, а глюки проявляются только при определенных сочетаниях якорей и выравниваний и то не у всех контролов.
Anatoly Podgoretsky (2007-11-13 19:06:00) [30]У тебя получилось, а у автора нет.
Darvin (2007-11-13 17:19:00) [31]>Anatoly Podgoretsky © (12.11.07 12:56) [2]
>D6, D7 c Вистой не совместимо, кроме того надо смотреть настройки >системы, в первую очередь шрифты
Не знаю, не знаю. На XP и D7 делаю прогу, причем использующую paradox, запускаю ее на висте, все работает и картинки никуда не уезжают.
Игорь Шевченко (2007-11-12 15:01:00) [32]Учимся создавать корректные заголовки тем
TIF (2007-11-12 14:56:00) [33]
> это недоработка где то в недрах VCL - я тоже сталкивалсяю.
> Дело не в шрифтах.
> Дело в бордюре окон. У висты он другой и че-то там в VCL
> не так вычисляется. Проблемы с якорями и Align
согласен!
кстати, о бордюрах: вот кусок кода с которым у меня глюки, когда в всите установлен не вистовая тема, а классическая или стандартная. в скобках {} всё подробно описано
{Реализация "необычного" окна: без заголовка, только рамка + возможность изменения размера окна}
procedure TOffice2007Form.CreateParams(var Params: TCreateParams);
const
CS_DROPSHADOW = $00020000;
begin
inherited CreateParams(Params);
{Так решили сделать TMS-овцы...}//Params.Style := Params.Style and not WS_CAPTION + WS_POPUP;
{...а так решил переделать я - эффект тот же}Params.Style := Params.Style - WS_CAPTION + WS_POPUP;
{
ВНИМАНИЕ!!!
Обнаружены ошибки с реализацией данного момента в Windows Vista.
Если в разделе "Персонализация > Цвет и внешний вид окна >
Открыть свойства классического внешнего вида для выбора других возможностей".
Откроется окно "Параметры оформления".
Если выбрана цветовая схема "Windows Vista - обычный стиль" или
"Windows vista - упрощённый стиль", то неполадки не наблюдаются.
Но если выбрана "Стандартная" или "Классическая" цветовая схема,
то на окне начинают рисоваться вертикальные полосы тёмно-синего
цвета, они создаются правой границей окна.
Очисткой Canvas избавитьься от них можно, но придётся рисовать
определённый прямоугольник определённого цвета. Видимо, виновата
Windows Vista. Можно попытаться поискать решение у специалистов
Microsoft.
}
{Непонятно, зачем нужен этот участок кода? В Windows Vista он
добавляет к нижнему правому углу, который закруглён, некую
"квадратность" (рисует под ним квадратный угол на тени
if not (csDesigning in ComponentState) then
begin
if (Win32Platform = VER_PLATFORM_WIN32_NT) and
((Win32MajorVersion > 5) or
((Win32MajorVersion = 5) and (Win32MinorVersion >= 1))) then
Params.WindowClass.Style := Params.WindowClass.Style or CS_DROPSHADOW;
end;
}
end;
{ ------------------------- }
DVM (2007-11-12 14:09:00) [34]
> TIF ©
это недоработка где то в недрах VCL - я тоже сталкивалсяю. Дело не в шрифтах.
Дело в бордюре окон. У висты он другой и че-то там в VCL не так вычисляется. Проблемы с якорями и Align
TIF (2007-11-12 13:40:00) [35]
> Ну тогда и не говори, что пишешь программу для Висты, говори
> чисто для всех версий ОС, вне зависимости от пользовательских
> настроек и метрик.
Да будет так
Anatoly Podgoretsky (2007-11-12 13:35:00) [36]> TIF (12.11.2007 13:27:05) [5]
Ну тогда и не говори, что пишешь программу для Висты, говори чисто для всех версий ОС, вне зависимости от пользовательских настроек и метрик.
TIF (2007-11-12 13:27:00) [37]
> Ключевая фраза, тогда причем тут ХР
дык вот притом, что не у всех виста, поэтому должна быть совместимость с более ранними ОС.
Anatoly Podgoretsky (2007-11-12 13:21:00) [38]> TIF (12.11.2007 13:02:03) [3]
> а говорю, что делаю под неё прогу.
Ключевая фраза, тогда причем тут ХР
TIF (2007-11-12 13:02:00) [39]
> А зачем советуешь ставить Висту? :)
не советую и не пропагандирую, а говорю, что делаю под неё прогу.
> D6, D7 c Вистой не совместимо, кроме того надо смотреть
> настройки системы, в первую очередь шрифты
в ХР скопировал шрифты segoe ui, на них прога и работает в любой системе. размер тоже подобрал тот же, или отключил использование системных шрифтов.
А какая версия тогда совместима? Кроме 2007? turbo delphi подойдёт?
Anatoly Podgoretsky (2007-11-12 12:56:00) [40]D6, D7 c Вистой не совместимо, кроме того надо смотреть настройки системы, в первую очередь шрифты