Загрузить Собственную Иконку

Тема в разделе "Delphi - FAQ", создана пользователем Vadik(R), 15 окт 2011.

  1. Vadik(R)

    Vadik(R) Well-Known Member

    Регистрация:
    12 дек 2007
    Сообщения:
    483
    Симпатии:
    0
    Добрый вечер, форумчане!
    В недавней теме у меня возник вопрос, как загрузить собственную иконку в Tray. Так как Delphi мне ближе по душе, решил сделать этот момент вначале в этой среде, на C++ всегда переписать смогу. Так вот, у меня проблема такая. Есть иконка icon.ico, в которой содержатся иконки разных форматов - от 16 x 16 до 128 x 128. Мне надо, чтобы эта иконка прогрузилась в Tray. Решил вначале сделать так. Написать в icon.rc:
    Код (Text):
    TrayIcon ICON icon.ico
    Создать файл ресурсов и подключить к проекту. А далее написать:
    Код (Delphi):
    NIData.hIcon := LoadIcon(GetModuleHandle(nil), 'TrayIcon');
    В этом случае, нужная иконка в трее появлялась, но в тоже время, из-за строки подключения ресурсов, она появилась и у самого приложения. Потому я решил сделать так. В icon.rc написать:
    Код (Text):
    TrayIcon RCDATA icon.ico
    Но теперь иконка перестала грузится. Поискав новые функции и поэксперемнтировав с ними, я получил вот это::
    Код (Delphi):
    NIData.hIcon := LoadIcon(LoadResource(0, FindResource(LoadLibrary(PChar(ParamStr(0))), 'icon.res', RT_RCDATA)), 'TrayIcon');
    Знаю, что неправильно :(
    Подскажите, пожалуйста, какой стоит указать тип ресурса в файле ресурсов и как потом загрузить из него свою иконку? Так, чтобы иконка появлалсь только в Tray, а у приложения осталась по умолчанию. Заранее спасибо :)
     
Загрузка...

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