Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Из ресурсов поочередно загружать глифы для кнопок SpeedButton

Delphi , Компоненты и Классы , Кнопки

Из ресурсов поочередно загружать глифы для кнопок SpeedButton

Автор: Dennis Passmore

Могу ли я из ресурсов поочередно загружать глифы для кнопок speedbutton и, если да, то как это сделать?

Например, если в вашем проекте используется TDBGrid, то иконки кнопок компонента DBNavigator могут линковаться вашей программой, и их можно загрузить для использования в ваших speedbutton следующим образом:


SpeedButton.Caption := '';
SpeedButton1.Glyph.LoadFromResourcename(HInstance,'DBN_REFRESH');
SpeedButton1.NumGlyphs := 2;

Другие зарезервированные имена:
DBN_PRIOR, DBN_DELETE, DBN_CANCEL, DBN_EDIT, DBN_FIRST, DBN_INSERT, DBN_LAST, DBN_NEXT, DBN_POST

Все имена должны использовать верхний регистр.

What a great question!

Да, вы можете загружать глифы для SpeedButtons из ресурсов по одному. Код, который вы предоставили, почти корректен, но я дам некоторые дополнительные сведения и предложения.

В Delphi можно использовать метод LoadFromResourceName компонента TGlyph, чтобы загрузить глиф из файла ресурсов. Этот метод принимает три параметра: Instance, который является handle вашего исполняемого файла (вы можете получить его с помощью функции HInstance), Name, который является именем ресурса, и ID, который является необязательным.

В вашем примере вы загружаете глиф с именем DBN_REFRESH. Вот как можно модифицировать код для загрузки глифов по одному:

procedure LoadGlyphs;
var
  i: Integer;
begin
  SpeedButton.Caption := ''; // Очищаем caption

  for i := 1 to 8 do // Загружаем все глифы
  begin
    SpeedButton.Glyph.LoadFromResourceName(HInstance, 'DBN_' + IntToStr(i));
    SpeedButton.NumGlyphs := 2; // Устанавливаем количество глифов
  end;
end;

В этом примере мы проходимся по диапазону значений от 1 до 8 и загружаем соответствующий глиф для каждого значения. Функция IntToStr используется для конвертации целочисленного значения в строку, которая затем конкатенируется с префиксом 'DBN_' для формирования имени ресурса.

Обратите внимание, что вам нужно изменить диапазон значений в цикле в соответствии со своими конкретными требованиями.

Кроме того, хорошая практика использовать заглавные буквы, как предложил Деннис Пассмор. Это потому, что файлы ресурсов Windows чувствительны к регистру, и использование заглавных букв обеспечивает совместимость на различных платформах.

Надеюсь, это поможет! Если у вас есть какие-либо дальнейшие вопросы, пожалуйста, не стесняйтесь обращаться.

Можно из ресурсов поочередно загружать глифы для кнопок SpeedButton, например, используя метод LoadFromResourceName для свойства Glyph, как показано в примере с использованием TDBNavigator и DBRefresh.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Кнопки ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 12:25:45/0.0054140090942383/1