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

Вниз

Масштаб окна приложения при различном разрешении экрана   Найти похожие ветки 

 
Илья_   (2009-02-16 20:07) [0]

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


 
brother ©   (2009-02-17 08:09) [1]

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

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


 
Anatoly Podgoretsky ©   (2009-02-17 09:21) [2]

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


 
MsGuns ©   (2009-02-17 09:25) [3]

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

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


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

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

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


 
Ega23 ©   (2009-02-17 14:02) [5]

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

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


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

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

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


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

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

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


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


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

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


 
Amoeba ©   (2009-02-18 01:51) [9]

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

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


 
Anatoly Podgoretsky ©   (2009-02-18 07:33) [10]

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

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


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

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


 
brother ©   (2009-02-25 08:49) [12]

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


 
Ega23 ©   (2009-02-25 14:47) [13]


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


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


 
brother ©   (2009-02-26 05:33) [14]

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

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

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

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


 
Anatoly Podgoretsky ©   (2009-02-26 09:04) [15]

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



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

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

Наверх




Память: 0.51 MB
Время: 0.012 c
2-1260200531
Drowsy
2009-12-07 18:42
2010.01.31
Как правильно завершить программу без появления главного окна


15-1259516382
Yura
2009-11-29 20:39
2010.01.31
Расширение фигуры


15-1259333816
Демо
2009-11-27 17:56
2010.01.31
Ветку реестра может кто кинуть?


15-1259345408
werty
2009-11-27 21:10
2010.01.31
что такое mailto?


1-1234886728
Drowsy
2009-02-17 19:05
2010.01.31
DLL BCB из Дельфи