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

Вниз

Вид формы...   Найти похожие ветки 

 
cypher   (2002-09-24 21:53) [0]

... тема уже не раз обсуждалась, но толком никто так и не ответил.
Как _правильно_ готовить форму, чтобы при разных настройках рабочего стола (размер шрифта, стиль, цвет и прочее) она была номральной (не уплывали кнопки, надписи были в порядке и пр.).
Желательно полноценный пример.


 
zam2000   (2002-09-24 22:23) [1]

в каждом компоненте использовать реальные цвета(например clSilver вместо clBtnFace), (RUSSIAN_CHARSET вместо DEFAULT_CHARSET) и.т.д, использовать сплиттеры, кнопок вообще поменьше, а те что есть должны быть на тулбарах, надписей на кнопках вообще надо избегать, вместо надписей иконки и hints.
Вот общие принципы.


 
OxOTHuK   (2002-09-24 22:39) [2]

2 cypher
а если без этого не обойтись, старайся все фиксить, закреплять Анкорами, Алигнами... храни ini-файл настройки, в который запихни все что можно, а при запуске все доставай...
но совет zam2000 более ценный, старайся следовать ему...
=)


 
cypher   (2002-09-25 01:07) [3]

У например окно диалога настроек программы... там порядка 10 Tab"ов. в каждом табе туева хуча чекбоксов и каптионов. все выравнено как нада.
ставим в системе КРУПНЫЙ шрифт, и все поползло поехало.

Вообще, все Фонты основаны на каком-то ДефаулФонте. пробовал менять его при запуске программы (по создания главной формы) - результат никакой =\


 
Reindeer Moss Eater   (2002-09-25 08:45) [4]

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


После этого при любом размере системного шрифта форма будет со шрифтом десятка (таким, как он выглядит при нормальном размере шрифта 96 точек на дюйм)


 
Bond   (2002-09-25 10:27) [5]

Используй только реальные цвета. Сам выставляй размеры и тип всех шрифтов на кнопках, надписях


 
Anatoly Podgoretsky   (2002-09-25 10:36) [6]

Если учесть что размеры шрифтов могут меняться относительно нормального в пределах от 10 лр 500 % то задачка сложная
Реально обычно поступают так, разработку ведут при крупном размер шрифта 125% и проверяют при нормальном. Естественно, что все нужные свойства формы выставляются должным образом. Придерживая этого правила можно получить приемлемый вид в большинстве случаев. Альтернативой является подстройка всех размеров и положений в рантайм


 
Оля   (2002-09-25 11:11) [7]

А кто подскажет как программно узнать какой размер шрифта установлен на машине 96 или 120 dpi, разрешение экрана?
Мне кажется получив такую информацию можно попытатся масштабировать компоненты в зависимости от установок шрифта и разрешения экрана.


 
Reindeer Moss Eater   (2002-09-25 11:52) [8]

>ОЛЯ
см. Reindeer Moss Eater (25.09.02 08:45)


 
Оля   (2002-09-25 13:00) [9]

> Reindeer Moss Eater
типа, если я это вставлю в свой проект должно все получиться?
попробовала...
const
App_FontSize:=10;
[Error] nay.pas(493): "=" expected but ":=" found
// ну с этим понятно, конст - `=`

а вот, что с этим делать ?
[Error] nay.pas(559): Undeclared identifier: "ScreenLogPixels"



 
MegaBass   (2002-09-25 13:41) [10]


var
oldFont, newFont: HFONT;
lDC: HDC;
begin
lDC := GetDC(0;)
newFont := CreateFOnt(...читай хелп);или CreateFontIndirect(...);
oldFont := SelectObject(lDC, newFont);
...
тут все будет правильным фонтом
...
SelectObject(lDC, oldFont);
end;


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

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



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

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

Наверх





Память: 0.47 MB
Время: 0.008 c
1-21011
turusov
2002-09-25 15:24
2002.10.07
Object Pascal and Delphi


4-21329
Yuri Btr
2002-08-20 17:50
2002.10.07
Не работает CreateteProcessAsUser....


14-21271
BCPP_Builder_Dev
2002-09-09 14:43
2002.10.07
А где скачать EhLib 2.4 который не evaluation???


7-21291
Nalsur
2002-07-23 11:53
2002.10.07
Bios


4-21338
Renard
2002-08-21 21:46
2002.10.07
Проблема с LVM_GETITEM.





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