1. Уважаемые гости и пользователи форума.
    Администрация настоятельно рекомендует не регистрировать несколько аккаунтов для одного пользователя. При выявлении наличия мультиаккаунтов будут заблокированы все учетные записи данного пользователя.
    Аккаунты, зарегистрированные на временную почту будут также заблокированы.

DLL Layered 0.2.1

Поддержка многослойных окон в Inno Setup (Layered Windows).

  1. Ветеран Проверенный

    Регистрация:
    28 июн 2011
    Сообщения:
    164
    Симпатии:
    212
    Пол:
    Мужской
    Пользователь David.D.Rocco разместил новый ресурс:

    Layered - Библиотека для рисования на многослойном окне (Layered Windows).

    Узнать больше об этом ресурсе...
     
    Razor12911, sergey3695, Adil и 4 другим нравится это.
  2. Ветеран

    Регистрация:
    24 май 2012
    Сообщения:
    70
    Симпатии:
    80
    Пол:
    Мужской
    предложение, можно использовать этот код чтобы убрать несколько функций из библиотеки, а также, добавить поддержку оригинальной Inno Setup:

    Код (Text):
    function lCreateTextureS(const filename: string; Memory: Bool): Integer; var Buffer: AnsiString;FileSize: Cardinal;
    begin
    #ifndef IS_ENHANCED
      ExtractTemporaryFile(filename);
      LoadStringFromFile(ExpandConstant('{tmp}\')+filename,Buffer);
      FileSize:=Length(Buffer);
    #else
      if Memory then begin
      ExtractTemporaryFile(filename);
      LoadStringFromFile(ExpandConstant('{tmp}\')+filename,Buffer);
      FileSize:=Length(Buffer);
      end else begin
      FileSize := ExtractTemporaryFileSize(filename); SetLength(Buffer, FileSize);
    #ifdef UNICODE
      ExtractTemporaryFileToBuffer(filename, CastAnsiStringToInteger(Buffer));
    #else
      ExtractTemporaryFileToBuffer(filename, CastStringToInteger(Buffer));
    #endif
      end;
    #endif
      result := lCreateTexture_(Buffer, FileSize);
    end;
     
    David.D.Rocco нравится это.
  3. Ветеран Проверенный

    Регистрация:
    28 июн 2011
    Сообщения:
    164
    Симпатии:
    212
    Пол:
    Мужской
    Этого к сожалению не достаточно. В модуле layered.ui.iss много чего, что работает только на расширенной версии.
     
  4. Ветеран

    Регистрация:
    24 май 2012
    Сообщения:
    70
    Симпатии:
    80
    Пол:
    Мужской
    точно, поспешил, но все таки первая часть предложения вполне возможна, даже можно немного сократить предыдущий код
     
  5. Ветеран Проверенный

    Регистрация:
    28 июн 2011
    Сообщения:
    164
    Симпатии:
    212
    Пол:
    Мужской
    Загрузку текстур из файла(lCreateTexture*)? Не имеет смысла их убирать. В сумме они занимают 7 строк кода в библиотеке. И если их убрать библиотека ничуть не "похудеет".
     
  6. Ветеран

    Регистрация:
    4 сен 2011
    Сообщения:
    267
    Симпатии:
    48
    что-то не получается норм совместить с исдоном,при распаковке прогресс бар не дергается вообще,может кто поможет? + при отмене распаковки файлы все-равно распаковываются в папку установки
    http://rghost.ru/54769788
     
    Последнее редактирование: 30 апр 2014
  7. Ветеран

    Регистрация:
    24 май 2012
    Сообщения:
    70
    Симпатии:
    80
    Пол:
    Мужской
    обнаружил некоторую неработоспособность библиотеки, не отображается текст если попробовать использовать шрифт загруженный в память (AddFontMemResourceEx), во вложении правлений пример+шрифт. Можно ли исправить, или узнать где проблема?
     

    Вложения:

    • font_test.rar
      Размер файла:
      17,1 КБ
      Просмотров:
      11
  8. Ветеран Проверенный

    Регистрация:
    28 июн 2011
    Сообщения:
    164
    Симпатии:
    212
    Пол:
    Мужской
    Не сталкивался раньше с этой функцией, но сейчас поглядев MSDN - первый параметр в AddFontMemResourceEx это указатель на ресурс (внутри программы или библиотеки). Ты передаешь туда объект находящийся в памяти. Вроде и не должно работать
     
  9. Ветеран

    Регистрация:
    24 май 2012
    Сообщения:
    70
    Симпатии:
    80
    Пол:
    Мужской
    странно, но загруженный этим способом шрифт можно использовать как в обычном TFont так и в контроллах созданных в библиотеке (CreateWindow). А как библиотека работает с шрифтом (lCreateFont), + еще есть небольшие проблемы с прорисовкой текста если указать высоту чуть меньше чем высота текста - не видно последней линии (или вообще весь), также при выравнивании aFar - текст все также обрезается с права (или так и должно бить?).
     
  10. Ветеран Проверенный

    Регистрация:
    28 июн 2011
    Сообщения:
    164
    Симпатии:
    212
    Пол:
    Мужской
    altEF_4, lCreateFont получает дескриптор шрифта, т.е. TFont.Handle или результат таких winapi функций как CreateFont.
    Авторазмер лучше не использовать. Плюс задать размер текста побольше (с запасом) тогда проблем не будет.
     
  11. Ветеран

    Регистрация:
    24 май 2012
    Сообщения:
    70
    Симпатии:
    80
    Пол:
    Мужской
    ладно, тогда небольшая просьба, сможешь попробовать использовать временный шрифт (загруженный любим способом - с файла или памяти или ресурсов) в любом из примеров для библиотеки, то есть использовать шрифт которий не установлен в системе?
     
  12. Ветеран Проверенный

    Регистрация:
    28 июн 2011
    Сообщения:
    164
    Симпатии:
    212
    Пол:
    Мужской
    Установи шрифт в систему и не мучайся.
     
  13. Ветеран Проверенный

    Регистрация:
    28 июн 2011
    Сообщения:
    164
    Симпатии:
    212
    Пол:
    Мужской
    Пользователь David.D.Rocco обновил ресурс Layered новой записью:

    Обновление Layered.dll

    Узнать больше об этом обновлении...
     
    Winst@n, sergey3695, Adil и 3 другим нравится это.
  14. Ветеран Проверенный

    Регистрация:
    28 июн 2011
    Сообщения:
    164
    Симпатии:
    212
    Пол:
    Мужской
    Ramiro Cruzo, altEF_4, YURSHAT и ещё 1-му нравится это.
  15. Ветеран Проверенный

    Регистрация:
    28 июн 2011
    Сообщения:
    164
    Симпатии:
    212
    Пол:
    Мужской
    Исходник: https://mega.co.nz/#F!QJZgAJBJ!QOXDmH1POTIoI3JKOwlMaA
    Решил отказаться от текущей реализации. Следующую версию перепишу полностью. Теперь буду использовать OpenGL, это даст некоторую свободу.
     
    DICI BF, ReFLeXx, mishander и 2 другим нравится это.
  16. Пользователь

    Регистрация:
    25 июн 2014
    Сообщения:
    20
    Симпатии:
    3
    Пол:
    Мужской
    David.D.Rocco, Привет
    Как добавит задача на это кнопка для установка Directx,vc++ ?

    [​IMG]
     
  17. Пользователь

    Регистрация:
    25 июн 2014
    Сообщения:
    20
    Симпатии:
    3
    Пол:
    Мужской
  18. Ветеран Проверенный

    Регистрация:
    18 июн 2011
    Сообщения:
    702
    Симпатии:
    494
  19. Пользователь

    Регистрация:
    25 июн 2014
    Сообщения:
    20
    Симпатии:
    3
    Пол:
    Мужской
    Большое спасибо !!
     
    Хамик нравится это.

Поделиться этой страницей