Перейти к содержанию

Поиск сообщества

Показаны результаты для тегов 'forwindows'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Общие вопросы
    • Анимация
    • Графика
    • Стили
    • Базы данных и REST
    • Компоненты
    • Положение, размеры, выравнивание
    • Работа с текстом
    • Приложение и формы
    • Отладка
    • Развертывание приложений
    • Вопросы по языку Object Pascal и RTL
    • Общая информация о TControl
    • События
    • Прочие вопросы
  • Вопросы по платформам
  • Вопросы по использованию RAD Studio
  • Native FGX
  • Обучение
  • Поиск специалистов по FireMonkey
  • Дополнительные ресурсы по FireMonkey
  • Организация работы данного форума
  • Видеокурсы

Поиск результатов в...

Поиск контента, содержащего...


Дата создания

  • Старт

    Конец


Дата обновления

  • Старт

    Конец


Фильтр по количеству...

Регистрация

  • Старт

    Конец


Группа


AIM


MSN


Сайт


ICQ


Yahoo


Jabber


Skype


StackOverflow


Защита от ботов


Город


Интересы

Найдено: 1 результат

  1. Здравствуйте, дорогие друзья! Открыл для себя firemonkey, и неожиданно поняд, что крос платформенность - тяжелая для меня ноша! Я хочу выполнить простую операцию, подгрузить в приложение список системных шрифтов, чтобы пользователь, мог сам выбрать, что ему нравится. Обнаружил, что в firemonkey нет TFontDialog, нет TFontList. Ситуация бесfontовая! Благо есть интернет. И там, добрый человек - честь и хвала ему - детально раскладывает, как решить эту задачу хоть для windows, хоть для Mac. https://delphiscience.wordpress.com/2012/11/20/getting-system-fonts-list-in-firemonkey-the-new-tplatformextensions-class/ Но снова судьба злодейка кинула! Коды на Delphi! А я только начал разбираться в СИ++. В общем, прошу Вас, друзья, помочь мне адаптировать тот код под СИ, и вконце концов получить список системных шрифтов: TPlatformExtention.h //--------------------------------------------------------------------------- #ifndef PlatformExtentionH #define PlatformExtentionH //--------------------------------------------------------------------------- #include <System.Classes.hpp> //--------------------------------------------------------------------------- class TPlatformExtention: public TObject{ public: void FGetSystemFonts( TStringList *FontList ); }; //--------------------------------------------------------------------------- #endif TPlatformExtention.cpp //--------------------------------------------------------------------------- #pragma hdrstop #include <string> #include "PlatformExtention.h" //--------------------------------------------------------------------------- int FEnumFonts( TLogFont LogFont, TTextMetric TextMetric, unsigned long FontType, long Data ){ TStringList *List = new TStringList(); UnicodeString fName; fName = LogFont.lfFaceName; if( List->Count == 0 || (AnsiCompareText(List[List->Count-1].Text, fName) != 0 ) ){ List->Add( fName ); return 1; } return 0; } //--------------------------------------------------------------------------- void TPlatformExtention::FGetSystemFonts( TStringList *FontList ){ HDC dContext; TLogFont *LogFont = new TLogFont; dContext = GetDC(0); StringOfChar( *(LogFont->lfFaceName), sizeof( LogFont ) ); LogFont->lfCharSet = DEFAULT_CHARSET; EnumFontFamiliesEx( dContext, LogFont, FEnumFonts, 0, 0 ); ReleaseDC(0, dContext); } //--------------------------------------------------------------------------- #pragma package(smart_init) Моя признательность всем откликнувшимся не знает границ. Всем спасибо
×
×
  • Создать...