![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#2
|
|||
|
|||
![]() В отличие от MessageBox, являющаяся функцией API, MessageDlg конструирует Delphi, естественно, также применяя различные
функции API. Для интереса посмотрите функцию CreateMessageDialog в модуле Dialogs. При создании окна MessageDlg применяется функция CreateFontIndirect, в параметр которой надо передавать структуру LOGFONT. Delphi не затрудняет себя излишней заботой о заполнении этой структуры - для янки сойдет и значения по умолчанию, и так все будет корректно. Как Windows будет интерпретировать значение DEFAULT_CHARSET в поле lfCharSet упомянутой структуры в какой-либо ситуации в нашей стране мы уже можем догадаться по возникшей проблеме. Видимо, с ограничением прав, не все шрифты с кириллицей доступны, вернее шрифты с charset Win1251. А по мне, так пользоваться "MessageDlg" собственного изготовления и забыть про эту проблему. Не забывайте делать резервные копии |