Forum Replies Created
-
AuthorPosts
-
December 16, 2014 at 11:18 am in reply to: В XE7 невозвожно редактирование TActionList, если TActionList.Images = TsAlphaImageList #52927AcetylatorParticipant
Спасибо за ответ. Пока что так и делаю – перед редактированием TActionList очищаю проперти Images, редактирую акции, потом возвращаю предыдущее значение TActionList.Images. Жить можно, конечно, хотя и некомфортно. Ну, буду надеяться, что решение в конце-концов будет найдено.
С уважением, Ace.
December 14, 2014 at 4:11 pm in reply to: В XE7 невозвожно редактирование TActionList, если TActionList.Images = TsAlphaImageList #52921AcetylatorParticipantUpdate:
на 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 не было на свете). Может, все-таки попытаетесь опять покопаться?
Заранее премного благодарен!
December 14, 2014 at 3:12 pm in reply to: В XE7 невозвожно редактирование TActionList, если TActionList.Images = TsAlphaImageList #52919AcetylatorParticipant'TCount' wrote:Подтверждаю, есть такая неприятность в XE7. Альтернативу подкинуть не могу, так как никогда не пользуюсь ActionList.
Я заменил все TActionList в приложении на TActionManager (кстати, сделать это легко – просто изменить все упоминания TActionList на TActionManager в DFM и PAS файлах). Теперь редактировать акции можно, но если, например, на какой-нибудь кнопке попытаться открыть список акций при редактировании проперти Action в Object Inspector'e, то все равно выскакивает “Stream read error”. Приходится задавать название требуемой акции вручную. Геморрой, конечно, но уже жить можно.
Хотелось бы узнать, однако, кто виноват – это проблема Дельфи, или проблема TsAlphaImageList? Похоже, что виноват TsAlphaImageList. Я провел эксперимент, заменив TsAlphaImageList на TcxImageList (от DevExpress) – все работает без проблем. Придется, видимо, перейти на TcxImageList окончательно.
AcetylatorParticipantПоковырялся еще. В итоге добавлены следующие published properties в TacEditButtonItem:
1. Enabled
2. DisabledGlyphKind
3. DisabledKind
Работают так же, как и в TsSpeedButton. В принципе, теперь все работает почти как надо – единственное, что если установить Enabled в False, то при наведении мышки на глиф курсор будет crIBeam, а не crArrow, получается чуток некрасиво – но с этим ничего не поделаешь (разве что если только сообщения перехватывать, как здесь, но не охота возиться).
Ссылка на модифицированный aceComboEditEx.pas (должен работать во всех версиях Delphi и AlphaControls, так как мои изменения минимальны):
[attachment=6907:aceComboEditEx.pas]
AcetylatorParticipantПлюнул, запилил свойство Enabled. Опять не то. Я забыл, что если его установить в False, то глиф отображается сереньким. Ув. саппорт, как считаете, можно как-то это обойти? Там эта кнопка в контроле является потомком от TsSpeedButton. Можно как-то сделать, чтобы ее нельзя было нажать, но чтобы глиф отображался так, как будто ее нажать можно?
AcetylatorParticipantСпасибо за совет! Попробовал TacComboEditEx – в принципе, добавить иконку слева можно, но в виде кнопки, на которую можно нажать. К сожалению, у такой кнопки нет свойства “Enabled” (с помощью которого кнопку можно было превратить в иконку, задав его в False), поэтому это не совсем то, что нужно. В принципе, сорцы там есть, можно самому сделать… Но не охота свои костыли пилить – потом при каждом обновлении опять придется исходники править. Там приведен автор (в файле aceComboEditEx.pas) – Вячеслав Плотников (Vyacheslav Plotnikov) – никто случаем не знает, как его найти? Я гуглил и так, и эдак – не могу найти о нем ничего. Никто не в курсе?
Благодарю!
AcetylatorParticipantСпасибо за наводку. У меня была версия 9.12. Поставил 9.14 – все исправлено. Раньше не догадался, поскольку в истории обновлений про это не было написано. Тем не менее, спасибо за внимание и помощь!
AcetylatorParticipantПардон, дико извиняюсь – насчет TsEdit беру свои слова назад. Это у меня при переключении фокуса обнулялся CustomColor в False. Но вот комбобокс все-таки отображается некрасиво.
AcetylatorParticipantЕще вдогонку – если я изменю TsComboBox.Color на кастомный цвет, то меняется только фон самой “коробки” комбобокса – если я раскрою комбобокс, то дропдаун лист отображается все равно с дефолтным фоном. Правильнее было бы отобразить его с кастомный цветом фона, нет? Вот пример:
-
AuthorPosts