Layered

DLL Layered 0.2.1

Нет прав для скачивания

David.D.Rocco

Участник
Проверенный
Пользователь David.D.Rocco разместил новый ресурс:

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

Информация:

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

Возможности:
  • Вывод простых примитивов, текста, изображений на многослойное окно;
  • Поддержка популярных форматов графических файлов: BMP, GIF, JPEG, PNG, TIFF, and EMF;
  • Градиентная закраска;
  • Поддержка прозрачности;
  • Пользовательский интерфейс: реализовано создание...
Узнать больше об этом ресурсе...
 

altEF_4

Новичок
предложение, можно использовать этот код чтобы убрать несколько функций из библиотеки, а также, добавить поддержку оригинальной Inno Setup:

Код:
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;
 

altEF_4

Новичок
Этого к сожалению не достаточно. В модуле layered.ui.iss много чего, что работает только на расширенной версии.
точно, поспешил, но все таки первая часть предложения вполне возможна, даже можно немного сократить предыдущий код
 

David.D.Rocco

Участник
Проверенный
но все таки первая часть предложения вполне возможна
Загрузку текстур из файла(lCreateTexture*)? Не имеет смысла их убирать. В сумме они занимают 7 строк кода в библиотеке. И если их убрать библиотека ничуть не "похудеет".
 

urban

Старожил
что-то не получается норм совместить с исдоном,при распаковке прогресс бар не дергается вообще,может кто поможет? + при отмене распаковки файлы все-равно распаковываются в папку установки
http://rghost.ru/54769788
 
Последнее редактирование:

altEF_4

Новичок
обнаружил некоторую неработоспособность библиотеки, не отображается текст если попробовать использовать шрифт загруженный в память (AddFontMemResourceEx), во вложении правлений пример+шрифт. Можно ли исправить, или узнать где проблема?
 

Вложения

David.D.Rocco

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

altEF_4

Новичок
странно, но загруженный этим способом шрифт можно использовать как в обычном TFont так и в контроллах созданных в библиотеке (CreateWindow). А как библиотека работает с шрифтом (lCreateFont), + еще есть небольшие проблемы с прорисовкой текста если указать высоту чуть меньше чем высота текста - не видно последней линии (или вообще весь), также при выравнивании aFar - текст все также обрезается с права (или так и должно бить?).
 

David.D.Rocco

Участник
Проверенный
altEF_4, lCreateFont получает дескриптор шрифта, т.е. TFont.Handle или результат таких winapi функций как CreateFont.
если указать высоту чуть меньше чем высота текста - не видно последней линии (или вообще весь), также при выравнивании aFar - текст все также обрезается с права (или так и должно бить?)
Авторазмер лучше не использовать. Плюс задать размер текста побольше (с запасом) тогда проблем не будет.
 

altEF_4

Новичок
ладно, тогда небольшая просьба, сможешь попробовать использовать временный шрифт (загруженный любим способом - с файла или памяти или ресурсов) в любом из примеров для библиотеки, то есть использовать шрифт которий не установлен в системе?
 

David.D.Rocco

Участник
Проверенный
Пользователь David.D.Rocco обновил ресурс Layered новой записью:

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

Изменения:
  • Интерфейс пользователя реализован через библиотеку;
  • Функции для загрузки и управления изображениями и текстом реализованы через библиотеку;
  • Удалена поддержка пера;
  • Улучшена обработка ошибок;
  • Для работы с библиотекой необходима Inno Setup Unicode, обычная версия или расширенная.
Узнать больше об этом обновлении...
 

KARB10

Новичок
David.D.Rocco, Привет
Как добавит задача на это кнопка для установка Directx,vc++ ?

 
Сверху