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

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

Как подстроить свою прогу под расширение монитора пользователя [D6]


maxim2 ©   (2002-07-09 13:05:00) 

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


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

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

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


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

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


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

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


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

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

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


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

TTCustomDelphiMaster © (09.07.02 16:31)


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


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



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

[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 цветов радуги :)


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

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


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

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


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

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


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

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


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

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;


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

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


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

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


Наверх

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