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

Вниз

Как подстроить свою прогу под расширение монитора пользователя   Найти похожие ветки 

 
maxim2   (2002-07-09 13:05) [0]

Привет всем!
Например у меня расширение монитора 1024 на 768 а у пользователя 800 на 600 и когда он запускает прогу то она выходит за пределы экрана. Как бы сделать чтобы прога работала бы и под расширением 1024 и под 800


 
Dimich1978   (2002-07-09 14:03) [1]

Либо определять размеры экрана и соответственно рассчитывать все компаненты, либо этого легко добится используя Panel.


 
Dimich1978   (2002-07-09 14:16) [2]

А лучше бери и на время пока выполняется твоя прога поменяй разрешение экрана(из свей проги). Как это можно сделать смотри
http://www.symbol.ru/library/delphi_secrets/


 
Reindeer Moss Eater   (2002-07-09 14:25) [3]

const App_FontSize = 10;
var DC:HDC;
begin
try
DC:=GetDC(0);
ScreenLogPixels:=GetDeviceCaps(DC,LOGPIXELSY);
finally
ReleaseDC(0,DC);
end;
DefFontData.Height:= - MUlDiv(App_FontSize,ScreenLogPixels,72);
Font.Size:=DefFontData.Height;
end;


 
TTCustomDelphiMaster   (2002-07-09 15:53) [4]

Делай под 800x600, а уж на 1024 она как нибудь будет работать


 
Игорь Шевченко   (2002-07-09 16:00) [5]

Умные люди (Microsoft) рекомендуют разрабатывать программу для разрешения 640 x 480, тогда во всех остальных разрешениях она гарантировано будет работать.


 
grig   (2002-07-09 16:03) [6]

Используй свойства Allign, Anchors и Constraints у объектов в окне. И, конечно тестируй на разных разрешениях.
Успехов


 
[NIKEL]   (2002-07-09 16:09) [7]

Для определения текущего разрешения есть свойство Width & Height глобальной переменной Screen... Я например использую всегда ScaleBy для масштабирования под разные разрешения - главное подсчитать коэффициент масштабирования, деля разрешения экрана во время создания приложения на разрешение экрана во время запуска пиложения. Именно этот коэффициент и используется для свойства ScaleBy


 
TTCustomDelphiMaster   (2002-07-09 16:31) [8]

[NIKEL] © (09.07.02 16:09)
А если разрешение поменяется во время работы приложения?

maxim2 © (09.07.02 13:05)
делай как говорит grig (09.07.02 16:03) с учетом Игорь Шевченко © (09.07.02 16:00)
На твоей форме должен быть хотябы один компонент с Allign=allclient, и если твоя форма влезит в 640 то в других разрешениях она будет выглядеть более менее.

Игорь Шевченко © (09.07.02 16:00)
и 16 цветов радуги :)


 
Игорь Шевченко   (2002-07-09 16:35) [9]

TTCustomDelphiMaster © (09.07.02 16:31)


> и 16 цветов радуги :)


Было 16, теперь мин. требования 256 цветов.
Я рекомендую прочитать
http://msdn.microsoft.com/library/default.asp?URL=/library/partbook/winguide/welcome.htm




 
[NIKEL]   (2002-07-09 16:39) [10]

2 TTCustomDelphiMaster © (09.07.02 16:31)
[NIKEL] © (09.07.02 16:09)
А если разрешение поменяется во время работы приложения?

///
соответственно отловить и сделать все тоже самое - ScaleBy для всего - советы лучших программероводов :]


 
eSKey   (2002-07-09 17:43) [11]

Насчет учитывания минимального разрешения сказано верно. Правда совсем не обязательно делать все в 640х480 (и даже наоборот, это будет весьма неудобно - разные тулбары/окошки будут наезжать на проектируемую форму). Зачем, если у формы есть высота и ширина, которые можно посмотреть? Я пишу все в 800х600, но при этом слежу, чтобы минимальный рабочий размер окон был меньше чем 640х480, плюс конечно надо учитывать не только возможное разрешение экрана юзера, но и масштаб шрифта - на чем я спотыкался в первый раз, когда надписи наползали друг на друга и обрезались границами формы. И кстати, соответствующие рекомендации есть в Delphi guide & Help.


 
Reindeer Moss Eater   (2002-07-09 18:27) [12]

А в моем методе форма имеет контролы и шрифт одинаковые на всех масштабах шрифта


 
Proton   (2002-07-11 02:35) [13]

2Dimich1978
не на грам не лучше
такие программы у меня обычно разом в карзину летят
ты сам подумай
он говорит у меня 1024 а у него 800
ну а если у юзверя режим не держится ? черный экран ?
я вот например сижу в 800*600 и если какая софтина поставит мне 1024 у меня сразу рефреш упадет и я в проге не смогу работать более 30 минут.
понимаеш юзверю не надо навязывать, пусть он сам решит

2maxim2
юзай ScaleBy(100,120)



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

Форум: "Основная";
Текущий архив: 2002.07.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.005 c
1-70777
dy1
2002-07-09 21:41
2002.07.22
символ


1-70735
Fiend
2002-07-11 16:54
2002.07.22
Handles и Named Pipes


1-70712
maxim2
2002-07-11 14:26
2002.07.22
Как узнать координаты мыши ?


1-70764
Question
2002-07-09 09:36
2002.07.22
O Screen.DataModuleCount


3-70620
ioRaptor
2002-07-01 12:28
2002.07.22
Как создать таблицу в отделном файле (InterBase)





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