Как изменить System font
Как изменить системный шрифт? По умолчанию Windows для отображения Main menu использует шрифт Tahoma. Мне необходимо програмно изменять его на мой собственный шрифт во время запуска программы и возвращать обратно при закрытии программы. Как я понимаю это делается через функцию Win API, но какую функцию исползовать и вообще так ли это делается я не знаю. Кто знает отзовитесь. Заранее спасибо.
нужно менять шрифт глобально или только в твоей программе? Ести только в твоей, то попробуй сообщение WM_SETFONT
нужно менять шрифт глобально или только в твоей программе? Ести только в твоей, то попробуй сообщение WM_SETFONT
Да нужно менять шрифт глобально, так как изменение шрифта только в программе не отразиться на отображении шрифтов в Main Menu по причине того, что Main Menu использует именно тот шрифт, который по умолчанию задан в настройках Windows. Если я програмно смогу изменить этот шрифт во время запуска программы, то Main Menu в моей программе отобразит всё корректно.
Как изменить системный шрифт? По умолчанию Windows для отображения Main menu использует шрифт Tahoma. Мне необходимо програмно изменять его на мой собственный шрифт во время запуска программы и возвращать обратно при закрытии программы. Как я понимаю это делается через функцию Win API, но какую функцию исползовать и вообще так ли это делается я не знаю. Кто знает отзовитесь. Заранее спасибо.
Посмотри в MSDN
BOOL SystemParametersInfo(
UINT uiAction, // system parameter to query or set
UINT uiParam, // depends on action to be taken
PVOID pvParam, // depends on action to be taken
UINT fWinIni // user profile update flag
);
где uiAction = SPI_SETNONCLIENTMETRICS.
Должно помочь.
А что бы не трогать систему поищи в инете пример - как отвязать штрифты програмыы от систмы
Очень интересно, как это сделать? У меня тоже стоял подобный вопрос - шрифты смогли сделать только в полях ввода, на диаложках, кнопках, таких объектах как List, Tree, PropertySheet итп... Вобщем все все в программе передалали на нужный нам фонт. А вот с менюшками и с заголовками окон - проблемы, так и оставили системный.
Очень интересно, как это сделать? У меня тоже стоял подобный вопрос - шрифты смогли сделать только в полях ввода, на диаложках, кнопках, таких объектах как List, Tree, PropertySheet итп... Вобщем все все в программе передалали на нужный нам фонт. А вот с менюшками и с заголовками окон - проблемы, так и оставили системный.
Вот вот ... и у меня такая же проблема. А еще добавлю к сведению, в TPageControl сврй шрифт срабатывает, ксли не изменять расположение закладок на нестандартные (например, вертикально слево или справо). Как только изменяеш это расположение то шрифт перестает отбражаться корректно.
так никто и не ответил мне как можно решить эту проблему :(
Я посмотрю но ничего не обещаю - сейчас у меня завал. А так пробоволи играться с ParentFont у компонентов
Так ведь нет у компонента TMainMenu свойство Font ну сответственно свойства ParentFont.