Как добавить значок времени разработки для компонента FireMonkey? - PullRequest
0 голосов
/ 24 августа 2018

Я прочитал эту статью Павла Гловацкого, и мне удалось отобразить значок для моего компонента. Результат следующий:

enter image description here

Я могу видеть изображение в палитре инструментов и в виде структуры. Кстати в конструкторе вижу значок по умолчанию:

enter image description here

Как я могу отобразить значок моего компонента в конструкторе?


Я использую Delphi Tokyo 10.2 Update 2. Я проследил за статьей, на которую я ссылался, чтобы получить показанное изображение. Мой компонент следующий:

type
  TEquationSolver = class(TComponent)
    //code...
  end;

В основном я сделал следующее:

  1. Я создал 3 растровых изображения (16x16, 24x24, 32x32) и png (128x128).
  2. Я добавил их в качестве ресурсов в Project> Resources and Images enter image description here
  3. Я назвал их TEquationSolver с суффиксом, указывающим размер. Таким образом, они правильно отображаются в IDE.

Чего мне не хватает в части времени проектирования? В этой статье я прочитал следующее:

Наше руководство: используйте PNG, если вы хотите очень простую обратную совместимость, или небольшой размер файла (BPL); используйте растровые изображения, если вы хотите быструю загрузку. Мы используйте растровые изображения для значков размером 16, 24 и 32 пикселя и PNG для значков размером 128 пикселей.

На самом деле у меня есть 16x16, 24x24, 32x32 растровые изображения и 128px PNG. Есть что-то еще?

1 Ответ

0 голосов
/ 25 августа 2018

Похоже, вам нужно создать файлы, которые я показал выше плюс изображение для дизайнера. Последний должен соответствовать имени класса, который наследуется от TComponent (в моем случае):

enter image description here

Как вы видите, я добавил еще одно растровое изображение (это 32x32, я только что сделал копию и изменил имя), и я использовал TEquationSolver в качестве имени. После сборки + установки у меня следующий результат:

enter image description here


Обратите внимание, что я мог бы добавить только logo.bmp в качестве ресурса (с идентификатором, соответствующим имени класса, производного от TComponent), и это сработало бы в любом случае. Проблема в том, что картинки не будут аккуратными, потому что их размер будет изменен, и они могут выглядеть размытыми, как в моем случае.

По этой причине я думаю, что это хорошо:

  1. Поместите изображение, которое появится в дизайнере форм
  2. Поместите 16x16, 24x24, 32x32 и 128x128, которые будут использоваться IDE

Разница очевидна в моем случае. Когда у меня есть только одно растровое изображение, качество изображения низкое, но когда я предоставляю различные размеры, они выглядят лучше.

...