|
Тема |
Re: Промяна на шрифта на контролите на Форма [re: пpoГЪPMИcт] |
|
Автор | Гeoprи (Нерегистриран) | |
Публикувано | 12.09.03 18:25 |
|
|
Ами виж аз как съм го направил:
1. Тази процедура, която установява шрифта, и се предават два параметъра (може да се направи и с повече параметри ако е необходимо). Първия например е шрифта който да се "приложи" към обектите от формата а втория е "Script" на този език. Ако юзера иска да ползва езика по подразбиране на Windows за "Script" изпраща 0, аз за име на шрифт някой който му харесва :) Ако пък друг юзер иска български език, изпраща например "Arial" и "Script" 204 (Cyrillic) (Естествено това е възможно ако е добавено "Multilanguage support" и другите ала-бала на Windows за кирилизацията). Ако иска може да ползва шрифт който съдържа буквите от неговия език, ако Windows не разполага с такъв (съмнявам се че няма всички абуки които се ползват по света но както и да е:)
2. Имам една публична процедура с име Sub_LoadCaptions. На нея и се предава параметър кой език се ползва в момента и за коя форма става въпрос. Тя зарежда съответните надписи от файла (ИНИ файл например) с този език които се отнасят за формата и ги слага на контролите (по един ред код за всеки контрол).
И се прави следното:
Като се зареди някоя форма се извиква Sub_SetFont със съответните параметри (параметрите може и да са глобални променливи). След това се извиква Sub_LoadCaptions за да зареди надписите за тази форма от съответния език (файл).
По този начин не само че могат да се поддържат повече от един език за програмата, но и варианти на един и същ език. И при положение че надписите по програмата са в текстови файлове, юзера може да си ги променя както сметне за добре.
Идеята на процедурата Sub_SetFont е, че с нея могат да се сменят шрифтовете по програмата (това значи и използвания език) докато тя работи.
|
| |
|
|
|