-
У только что написанного компонента есть три свойства типа TShortCut - это клавиши быстрого вызова соответствующих Action'ов. Но почему-то они в инспекторе объектов показываются как просто числа, а не как, например, Ctrl + F и т. п. Один способ, как заставить их появляться в виде выпадающего списка я зщнаю. Это написать свой редактор свойства. Но неужели Дельфи, вернее, Object inspector, не знает, что есть такой тип, как TShortCut и что для него надо создавать выпадающий список? Ещё раз: сами свойствыа имеют тип именно TShortCut, а не Word.
-
VCLEditors.pas
-
А ещё, как оказалось, надо регистрировать RegisterPropertyEditor(TypeInfo(TShortCut), TStReplacer,'', TShortCutProperty); Все равно спасибо за ответ. НО мне так или иначе пришлось писать редактор компонента, в его REgister зарегистрировал и строчку, написанную выше. А вот ещё вопрос: есть свойства, которые я объявил как type string, чтобы написать редактор свойств. Но для того, чтобы редактировать значения, там нужны не только сами значения, но и ссылка на сам компонент, чьи эти значения. Пока все редактируется в редакторе компонента, а нельзя ли как-то в редакторе свойства получить ссылку на компонент, чьё это свойство?
-
Так как вы можете выбрать сразу несколько компонентов в дизайнере, то и достучаться до них можно только по индексу TPropertyEditor = class(TBasePropertyEditor, IProperty)
function GetComponent(Index: Integer): TPersistent;
end;
-
>DimaBr Спасибо за ответ. А ссылку на компонент в редакторе свойства самого компонента, наверное, не получишь? Само свойство - это строчка, в котрой перечислены через запятую TMenuItem, с коорыми связан компонент. Чтобы это свойство редактировать, одной строчки текста мало, нужен ещё и владелец компонента, чтобы заполнить возможные значения. function GetComponent(Index: Integer): TPersistent; //А как узнать общее число выделенных компонентов?
-
>А как узнать общее число выделенных компонентов?
IOTAFormEditor = interface(IOTAEditor)
function GetSelCount: Integer;
end;
|