Acetylator

Forum Replies Created

Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • Acetylator
    Participant

    Спасибо за ответ. Пока что так и делаю – перед редактированием TActionList очищаю проперти Images, редактирую акции, потом возвращаю предыдущее значение TActionList.Images. Жить можно, конечно, хотя и некомфортно. Ну, буду надеяться, что решение в конце-концов будет найдено.

    С уважением, Ace.

    Acetylator
    Participant

    Update:

    на TcxImageList перейти не удалось, так как после этого у всех глифов начал отображаться мерзкий розовый контур вокруг рисунка (подозреваю какой-то глюк при обработке прозрачности). В общем, скрестить AlphaControls и TcxImageList у меня не получилось.

    Также замена TActionList на TActionManager в моем проекте невозможна, поскольку TActionManager нельзя использовать во фреймах (а у меня как раз много фреймов, у каждого из которых есть свои акции, поэтому в качестве их обработчика подходит только TActionList – его можно, в отличие от TActionManager, наследовать и, таким образом, использовать во фреймах). Ну, что ж, ничего не поделаешь, придется оставить все как было и дальше питаться кактусом 🙁

    Кстати, в списке обновлений – 25.06.2014 AlphaControls v9.04 Beta released есть вот такое:

    * Solved issue with opening of TActionList with TsAlphaImageList is design-time

    То есть, проблема уже известная (хотя тогда еще XE7 не было на свете). Может, все-таки попытаетесь опять покопаться?

    Заранее премного благодарен!

    Acetylator
    Participant
    'TCount' wrote:

    Подтверждаю, есть такая неприятность в XE7. Альтернативу подкинуть не могу, так как никогда не пользуюсь ActionList.

    Я заменил все TActionList в приложении на TActionManager (кстати, сделать это легко – просто изменить все упоминания TActionList на TActionManager в DFM и PAS файлах). Теперь редактировать акции можно, но если, например, на какой-нибудь кнопке попытаться открыть список акций при редактировании проперти Action в Object Inspector'e, то все равно выскакивает “Stream read error”. Приходится задавать название требуемой акции вручную. Геморрой, конечно, но уже жить можно.

    Хотелось бы узнать, однако, кто виноват – это проблема Дельфи, или проблема TsAlphaImageList? Похоже, что виноват TsAlphaImageList. Я провел эксперимент, заменив TsAlphaImageList на TcxImageList (от DevExpress) – все работает без проблем. Придется, видимо, перейти на TcxImageList окончательно.

    in reply to: Предложение по улучшению TsComboEdit #52535
    Acetylator
    Participant

    Поковырялся еще. В итоге добавлены следующие published properties в TacEditButtonItem:

    1. Enabled

    2. DisabledGlyphKind

    3. DisabledKind

    Работают так же, как и в TsSpeedButton. В принципе, теперь все работает почти как надо – единственное, что если установить Enabled в False, то при наведении мышки на глиф курсор будет crIBeam, а не crArrow, получается чуток некрасиво – но с этим ничего не поделаешь (разве что если только сообщения перехватывать, как здесь, но не охота возиться).

    Ссылка на модифицированный aceComboEditEx.pas (должен работать во всех версиях Delphi и AlphaControls, так как мои изменения минимальны):

    [attachment=6907:aceComboEditEx.pas]

    in reply to: Предложение по улучшению TsComboEdit #52533
    Acetylator
    Participant

    Плюнул, запилил свойство Enabled. Опять не то. Я забыл, что если его установить в False, то глиф отображается сереньким. Ув. саппорт, как считаете, можно как-то это обойти? Там эта кнопка в контроле является потомком от TsSpeedButton. Можно как-то сделать, чтобы ее нельзя было нажать, но чтобы глиф отображался так, как будто ее нажать можно?

    in reply to: Предложение по улучшению TsComboEdit #52531
    Acetylator
    Participant

    Спасибо за совет! Попробовал TacComboEditEx – в принципе, добавить иконку слева можно, но в виде кнопки, на которую можно нажать. К сожалению, у такой кнопки нет свойства “Enabled” (с помощью которого кнопку можно было превратить в иконку, задав его в False), поэтому это не совсем то, что нужно. В принципе, сорцы там есть, можно самому сделать… Но не охота свои костыли пилить – потом при каждом обновлении опять придется исходники править. Там приведен автор (в файле aceComboEditEx.pas) – Вячеслав Плотников (Vyacheslav Plotnikov) – никто случаем не знает, как его найти? Я гуглил и так, и эдак – не могу найти о нем ничего. Никто не в курсе?

    Благодарю!

    Acetylator
    Participant

    Спасибо за наводку. У меня была версия 9.12. Поставил 9.14 – все исправлено. Раньше не догадался, поскольку в истории обновлений про это не было написано. Тем не менее, спасибо за внимание и помощь!

    Acetylator
    Participant

    Пардон, дико извиняюсь – насчет TsEdit беру свои слова назад. Это у меня при переключении фокуса обнулялся CustomColor в False. Но вот комбобокс все-таки отображается некрасиво.

    Acetylator
    Participant

    Еще вдогонку – если я изменю TsComboBox.Color на кастомный цвет, то меняется только фон самой “коробки” комбобокса – если я раскрою комбобокс, то дропдаун лист отображается все равно с дефолтным фоном. Правильнее было бы отобразить его с кастомный цветом фона, нет? Вот пример:

    ee16da820167.png

Viewing 9 posts - 1 through 9 (of 9 total)