Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Масштаб окна приложения при различном разрешении экрана [D5, WinXP]


Илья_ ©   (2009-02-16 20:07:00) 

Создаю программы на Delphi 5 и WinXP. Разрешение экрана: 1024 х 768.
При запуске программы на компьютере с бОльшим разрешением (например 1280 х 1024),
все окна программы и шрифты выглядят меньше и получаются мелкими.
Что нужно делать для того чтобы моя программа имела примерно одинаковый
размер (вид) на экранах с различным разрешением?
И вообще, как вы решаете эту задачу?


Anatoly Podgoretsky   (2009-02-26 09:04:00) [1]

Все что нужно, так это гильотина, для этих чудо гениев, очень помогает избавиться от таких идей.


brother   (2009-02-26 05:33:00) [2]

> Скажи мне, милое дитя: ты часто скинами пользуешься?

может это как раз тот вариант когда нужно?

> Сколько у тебя программ, где установлен "не дефолтный" скин?

0+-0 ;)
зы за "милое дитя" отдельное спасибо, дяде понравилось)


Ega23   (2009-02-25 14:47:00) [3]


> а реализовать поддержку скинов? (хоть bmp!), красиво, и
> независимо от всех ;)


Скажи мне, милое дитя: ты часто скинами пользуешься? Сколько у тебя программ, где установлен "не дефолтный" скин?


brother   (2009-02-25 08:49:00) [4]

а реализовать поддержку скинов? (хоть bmp!), красиво, и независимо от всех ;)


kudatsky   (2009-02-20 12:54:00) [5]

Используй функцию ScaleBy.


Anatoly Podgoretsky   (2009-02-18 07:33:00) [6]

> Amoeba  (18.02.2009 0:57:07)  [7]

Ужас, и для чего пользователь устанавливал крупный шрифт


Amoeba   (2009-02-18 01:51:00) [7]

Рекомендую заменять SansSerif не на Arial, а на Tahoma.

В виде готового компонента входит в эту библиотеку:
http://www.torry.net/vcl/packs/huge/globuslib.zip


Германн   (2009-02-18 01:37:00) [8]


> Amoeba ©   (18.02.09 00:57) [7]
>
> Если зинтересует, то посмотрите вот это:
> Защита приложений от крупных шрифтов
> http://www.codenet.ru/progr/delphi/stat/bigfonts.php
>
> Шрифт в вашей программе всегда будет оставаться таким, как
> при разработке (96), несмотря на то, что в системе пользователь
> задал крупный шрифт (120 или больше).
>

Хм. Попытаюсь (обязательно попытаюсь) проверить этот совет в течение двух недель. Есть у меня "на чём проверять" :)


Amoeba   (2009-02-18 00:57:00) [9]

Если зинтересует, то посмотрите вот это:
Защита приложений от крупных шрифтов
http://www.codenet.ru/progr/delphi/stat/bigfonts.php

Шрифт в вашей программе всегда будет оставаться таким, как при разработке (96), несмотря на то, что в системе пользователь задал крупный шрифт (120 или больше).


Илья_   (2009-02-17 18:31:00) [10]

Мне необходимо изменить некоторые числовые значения учитывая Form.PixelsPerInch,
При написании программы оно нормальное 96 dpi. При другом размере шрифта оно станет другим
и окно программы автоматически изменится (т.к. Form.scaled = True), Form.PixelsPerInch тоже изменится.
Для некоторых задач мне необходимо определить соотношение между PixelsPerInch при создании программы (96 dpi) и
при запуске на другом компьютере (например 120 dpi). Можно ли определить значение Form.PixelsPerInch (96 dpi), которое
было при создании программы или его нужно записать самому?
Например:
R := Form.PixelsPerInch / 96;

Другими словами число 96 записывается где-нибудь в программе или в форме, или его нужно просто ввести самому?


Ega23   (2009-02-17 14:02:00) [11]

1. У пользователя исключительно свои соображения о том, как должен выглядеть UI. Причём у каждого - свои.
2. У пользователя исключительно свои соображения о том, какое разрешение должен иметь экран. Причём таки опять же у каждого - свои.
3. У пользователя исключительно свои соображения о том, какая цветовая палитра должна использоваться.
4. Если ты считаешь, что какая-нибудь категория товаров "утюги" должна быть отображена красным цветом, а категория "велосипеды" - синим, то опять таки у пользователя на этот счёт может быть своё сугубо личное мнение.

Рекомендации:
1. Любая форма должна умещаться на экране с разрешением 800х600.
2. Если форма переполнена контентом - разнести его по разным контейнерам, a-la PageControl (или что-то другое).
3. Давать возможность пользователю настраивать цвет фона, фонта, размер фонта и т.п. там, где это нужно.
4. Там где не нужно - использовать стандартные цвета и настройки.
5. Тестить под разными разрешениями, разными схемами Windows и про крупный шрифт тебе уже написали.
6. Всё это лажа, т.к. всегда найдётся кто-то недовольный твоим UI, т.к. вещь эта - сугубо субъективная.


Германн   (2009-02-17 10:23:00) [12]

Самое главное в подобных случаях - это чтобы программный интерфейс был бы работоспособен при изменении размера шрифта на "крупный". Всё остальное мелочи.

P.S. Это не моё открытие. Уж сколько лет назад об этом говорил Ю.З. И вот теперь это и я понял. :)


MsGuns   (2009-02-17 09:25:00) [13]

Проектируем интерфейс на РС 800x600, при этом используя автовыравнивая и пересчеты позиций и размеров контролов или колонок сеток при ресайзингах если необходимо. Особая тема - сетки. Для них - сохранение и восстановление пользовательских настроек.

Шрифтом играть опасно - не известно какая винда стоит у потенциального юзера и какие настройки


Anatoly Podgoretsky   (2009-02-17 09:21:00) [14]

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


brother   (2009-02-17 08:09:00) [15]

> все окна программы и шрифты выглядят меньше и получаются
> мелкими.

все верно, тк. разрешение увеличилось)
пробуй масштабировать форму + менять размер шрифтов... это как вариант


Наверх

Титульная страница Поиск, карта сайта Написать письмо