Показать сообщение отдельно
  #2  
Старый 01.07.2008, 09:15
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

В отличие от MessageBox, являющаяся функцией API, MessageDlg конструирует Delphi, естественно, также применяя различные
функции API. Для интереса посмотрите функцию CreateMessageDialog в модуле Dialogs.
При создании окна MessageDlg применяется функция CreateFontIndirect, в параметр которой надо передавать структуру LOGFONT. Delphi не затрудняет себя излишней заботой о заполнении этой структуры - для янки сойдет и значения по умолчанию, и так все будет корректно.
Как Windows будет интерпретировать значение DEFAULT_CHARSET в поле lfCharSet упомянутой структуры в
какой-либо ситуации в нашей стране мы уже можем догадаться по возникшей проблеме.
Видимо, с ограничением прав, не все шрифты с кириллицей доступны, вернее шрифты с charset Win1251.

А по мне, так пользоваться "MessageDlg" собственного изготовления и забыть про эту проблему.
__________________
Не забывайте делать резервные копии
Ответить с цитированием