-
DELPHI въпрос
Търся помощ необходима на един приятел.
От Delphi си нямам понятие, така че може би въпроса ще изглежда малко "омачкан", но ще се опитам да бъда достатъчно ясен.
Възможно ли е при създаване на софтуер писан на Delphi, същият да бъде така направен, че софтуера да "познава" разделителната способност на монитора и да се "оразмерява" съобразно това.
В софтуера ще има бутони, полета за писане и полета, в които ще се извежда информация. Много малка базичка данни [цифри, букви, специални символи, гръцки и латински символи].
Имам предвид, че ако е направен така, че да се вижда с пределно малки , но все пак видими букви, бутони и всичко друго, на 1024х768 ще се виждат още по-малки. Да не говорим за по висока разделителна способност.
Та възможно ли е да се направят няколко настройки ... или шаблони, не знам как се наричат и те сами да се зареждат съобразно разделителната способност на дисплея. И разбира се софтуера сам да познава разделителната способност, да не иска ръчно указване.
Ако имате нужда от някаква информация още питайте.
Благодаря на всички.
P.S.
Ако някъде има описано нещо такова, дайте направо линкове.
Стига да са на немски или английски, приятеля ми ползва редовно и двата езика, така че не е нужно да се затруднявате да превеждате.
10х още веднъж.
-
DELPHI въпрос
Да се разпознава текущата разделителна способност може да стане по два начина. По-лесния е с Windows API (но точно кое е не се сещам - от 2 години не съм писал софт.) и другия по-сложен - максимализира се прозореца и му се четат размерите и после се детектират данните възоснова на тях.
За да се променят динамично размерите е доста по-сложно и по-специално за бутоните и полетата. За текстовете е лесно - промяна на размера на фонта. Най-лесно ще стане да има INI файл (или в регистратурата) във който да са дефинирани размерите по подразбиране и да се дефинират коефициенти за умножението им и коефициенти за изместването им.
Това е засега от мен.
P.S. Мисля, че имам нещо подобно направено на Делфи - ще проверя в архива си и ако го намеря - ще ти го пратя. [:)]
-
DELPHI въпрос
Попринцип е възможно, само че реализацията е малко...
Значи познаването на разделителната способност е най-лесното - съществува обекта Screen със свойства Width и Height, които съдържат съответно широчината и височината на екрана (в пиксели)
Разположението на елементите също може да се съхрани благодарение на свойството Anchors на компонентите
Попринцип Delphi има автоматично мащабиране, но то се прави съобразно размера на буквите спрямо разделителната способност - т.е. можеш да настройваш шрифта да е 96dpi, 120dpi и т.н. Фактически Windows ако е настроен на шрифт 96dpi размера на буквите независимо от разделителната способност е 96dpi и съответно мащабиране не се прилага
Но Delphi предлага и ръзно мащабиране на формата и всички компоненти в нея. Формата има метод ScaleBy(x,y) което опревеля колко пъти формата да се увеличи по x и по y. Всъщност, ако формата е правена на 800х600 разделителна способност, в метода й Create трябва да се напише
ScaleBy(Screen.Width/800, Screen.Height/600)
Надявам се това да удовлетворява приятеля ти
-
DELPHI въпрос
-
DELPHI въпрос
Благодаря и на трима ви!
Утре той сам ще прочете това, които сте му написали, мисля, че ще му е достатъчно. Вероятно ще има и други въпроси, след като веднъж получи работещи отговори.
Благодаря специално на ДК, за написаното, както и за know how по кю-то.
http://www.setcom.bg/news/forum/images/icon_mi_6.gif