Главная страница
    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
6-1211959699
Igor_34
2008-05-28 11:28
2010.01.31
Как узнать пользователя


15-1259088997
POOP
2009-11-24 21:56
2010.01.31
Диффур в Mathematica


1-1229112643
ivak
2008-12-12 23:10
2010.01.31
Собственный курсор


15-1259157679
картман
2009-11-25 17:01
2010.01.31
Неправильно форматируется файл проекта


15-1259388260
Leprik
2009-11-28 09:04
2010.01.31
Удалить cookies из памяти TWebBrowser





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский