Перейти к содержанию
Fire Monkey от А до Я

Krok27

Пользователи
  • Постов

    7
  • Зарегистрирован

  • Посещение

Достижения Krok27

  1. Согласно указаниям справки. PTypeInfo TypeInfo; PPropInfo PropInfo = GetPropInfo(__typeinfo(TRectangle), "Fill.Color"); if (PropInfo) TypeInfo = *(PropInfo->PropType); TComponentClass classes[1] = {__classid(TAnalogViewFMX)}; RegisterComponents("FmxOPC", classes, 0); RegisterPropertyEditor(TypeInfo,__classid(TAnalogViewFMX), "ColorOPC", __classid(TAlphaColorProperty)); Что бы компилятр С++ видел Delphi нужно дабвить добвить в опции компилятора Delphi http://docwiki.embarcadero.com/Libraries/Sydney/en/DesignIntf Короче все это пока не работает. __classid(TAlphaColorProperty) не обнаруживает. [bcc32 Error] AnalogViewFMX.cpp(382): E2303 Type name expected Full parser context AnalogViewFMX.cpp(370): namespace Analogviewfmx AnalogViewFMX.cpp(372): parsing: void _fastcall Register() Пришлось прилепить костыль. Объявить свойство TColor (для этого типа регистрировать ничего не надо, редактор похуже, но работать можно), внутреннее поле TAlphaColor, написал ф-цию TAlphaColor __fastcall ColorToAlphaColor(const TColor aValue) { TColorRec CRec; TAlphaColorRec ARec; CRec.Color = aValue; ARec.A = 0xFF; ARec.B = CRec.B; ARec.G = CRec.G; ARec.R = CRec.R; return ARec.Color; } extern DELPHI_PACKAGE System::Uitypes::TColor __fastcall AlphaColorToColor(const System::Uitypes::TAlphaColor Color); можно взять в модуле System.UITypes. slav_z, спасибо за участие.
  2. Без танцев с бубном я скорее всего не зарегистрирую TAlphaColorProperty. PTypeInfo TypeInfo; PPropInfo PropInfo = GetPropInfo(__typeinfo(TRectangle), "Fill.Color"); if (PropInfo) TypeInfo = *(PropInfo->PropType); RegisterPropertyEditor(TypeInfo, __classid(TAnalogViewFMX), "ColorOPC", __classid(TAlphaColorProperty)); Он описан dclfmxstd.bpi (FmxAnimationEditors.pas).
  3. Добрый день. Как вызвать редактор свойства TAlphaColor? Чтобы это выглядело не как беззнаковое целое, а с палитрой цветов, как например, свойство Color в TBrush. Спасибо. __property TAlphaColor ColorOPC1 = {read=FColorOPC1, write =FColorOPC1}; Вот аналогичный вопрос https://fire-monkey.ru/topic/6879-fmx-c-component/#comment-40037
  4. Пока не видел что бы QueryInterface использовался помимо Microsoft. Дайте ссылку, пожалуйста, для ознакомления. Модель COM, в основании которой лежит QueryInterface - детище Microsoft. Возможно я отстал от жизни))
  5. Спасибо. ComObject все таки завязан на Windows, теряется смысл FMX как фреймворка. Просто есть порядка 30 компонентов разной степени сложности, написанные под VCL. Хотелось обойтись малой кровью при переходе. Композиция всегда считалась лучше чем наследование. Займёмся композицией. Спасибо всем.
  6. Задача специфична и с помощью стилей ее не решить. К метке добавляю интерфейс, чисто виртуальные функции, которые буду реализованы в наследниках. Можно выполнить множественное наследование. Но я его не люблю и готовить умею)).
  7. Добрый день. 1. Создаю наследника от TLabel через newComponent, допустим TLabel_one, бросаю на форму, текст виден. 2. Создаю наследника от TLabel_one - TLabel_one_chil, кладу на форму - текста уже нет((. Что я не так делаю? Выбран не правильный родитель?
×
×
  • Создать...