Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2010.01.31;
Скачать: [xml.tar.bz2];

Вниз

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

 
Илья_   (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.004 c
15-1258908985
_
2009-11-22 19:56
2010.01.31
Бьются URL в DowloadMaster.


2-1260213754
indiegod
2009-12-07 22:22
2010.01.31
Delphi + Excel


2-1260185234
Гипербореец
2009-12-07 14:27
2010.01.31
TDBGrid и логические поля


2-1260209059
opolo2000
2009-12-07 21:04
2010.01.31
TQRImage в run-time


15-1258815844
AlexDan
2009-11-21 18:04
2010.01.31
Переходить ли на W7..?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский