Проблеми с размера на шрифта

Уважаеми майстори.
Имам малък въпрос към вас. В „Свойства на дисплея/Опции/Разширени“ можете да промените мащаба на шрифта. „Нормален размер 96 dpi“ или „Голям размер 120 dpi“. Аз самият пиша с настройката "Normal 96dpi". На компютъра, където е инсталиран "Голям размер 120 dpi", естествено всички надписи се носят. Кой как решава този проблем?

Възможно ли е по някакъв начин да "поправя" шрифта?

може да опитате Form.Scaled: = False; ?

И програмата отива в кошчето, където принадлежи след такива изявления.

Сайтът globus vcl имаше начин да реши този проблем, използвайки шрифтове TrueType.

Намерих го във факсовете си. Не помня откъде го взех. Опитай.

Пропорционални шрифтове, независимо от режима на екрана

Забележка: в инспектора на обекти първо трябва да зададете Scaled = False за онези Tформи, в които шрифтовете ще бъдат мащабирани.

Тип
TFooClass = клас (TControl);

процедура geAutoScale (MForm: TForm);
конст
cScreenWidth: цяло число = 800;
cScreenHeight: цяло число = 600;
cPixelsPerInch: цяло число = 96;
cFontHeight: цяло число = -11;
вар
i: цяло число;
започнете
ако (Screen.width> cScreenWidth) или (Screen.PixelsPerInch <> cPixelsPerInch) тогава
започнете
MForm.scaled: = TRUE;
MForm.height: = MForm.height * screen.Height DIV cScreenHeight;
MForm.width: = MForm.width * screen.width DIV cScreenWidth;
MForm.ScaleBy (screen.width, cScreenWidth);
край;
ако (Screen.PixelsPerInch <> cPixelsPerInch) тогава
започнете
за i: = MForm.ControlCount - 1 в центъра на 0 do
TFooClass (MForm.Controls [i]). Font.Height: = (MForm.Font.Height div cFontHeight) * TFooClass (MForm.Controls [i]). Font.Height;
край;
край;

И така или иначе, това беше грешното съобщение на ms. Някои диалогови прозорци на ms също грешат при големи шрифтове. Не искам да ги посочвам сега - трябва да претоварите, за да преминете към големи шрифтове. Но тези места са.


> просто трябва да напишете програми, които наистина са необходими

Трябва само да запомните, че програмите са написани за потребители, а потребителите не съществуват за програми.


> Както и да е, грешното съобщение беше мс


> Аргументи ?

Много разработчици (включително частично ms) вкараха в подкрепа на този режим.


> Много разработчици (включително частично ms) вкараха
> поддръжка за този режим

Не ваши, а референции.

И като цяло - в 1 се шегувах. Аз самият, разбира се, поддържам работа с различни размери на шрифта:))))), за щастие за мен това се извършва успешно от delphi.

Имайте предвид, че при> 120 dpi (т.е. по-голям от голям печат) офисните програми започват да работят зле - понякога думите в диалозите се прегазват малко.

Като цяло предлагам да отбележа по тази тема като неперспективен.

Също така съм готов да призная грешката си: фразата
„Много разработчици (включително частично ms) са вкарали точки в подкрепа на този режим„ Заменям с „, така се случва, че при големи шрифтове се виждат редки проблеми в екранни форми, които работят правилно в малки шрифтове.“.