Поиск:

Ответ в темуСоздание новой темы Создание опроса
> property AnsiString, Вызов String-Editor 
:(
    Опции темы
Ivan.
Дата 25.7.2008, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 2.11.2004

Репутация: нет
Всего: 2



При создании своего компонента от TCustomPanel расшариваю Caption (__published: __property Caption;)
А ButtonEdit (для вызова окна String-Editor) в ObjectInspector-е не появляется.
Подскажите, как это исправить? Не писать же свое окно Editor и натравливать его на данное проперти. 


--------------------
Я могу ВСЁ, вопрос - сколько времени у меня это займет!
PM MAIL ICQ   Вверх
ksili
Дата 28.7.2008, 05:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: 1
Всего: 17



Так а просто без String-Editora в ObjectInspector-е нельзя что ли редактировать?


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
Ivan.
Дата 28.7.2008, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 2.11.2004

Репутация: нет
Всего: 2



А как делать перенос строки, при вставке буфера обмена с несколькими строками текста ObjectInspector выкидывает все последующие строки. Ести вариант написания переноса строки в режима ViewText: "Строка 1"#10#13"Строка 2", но это изврат.


--------------------
Я могу ВСЁ, вопрос - сколько времени у меня это займет!
PM MAIL ICQ   Вверх
ksili
Дата 29.7.2008, 04:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: 1
Всего: 17



Для многострочных свойств есть тип TStrings вместо AnsiString


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
HappyLife
Дата 29.7.2008, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 17.5.2006

Репутация: 4
Всего: 8



Но обратите внимание, что Alphaskins это сделали.
PM MAIL   Вверх
Ivan.
Дата 30.7.2008, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 2.11.2004

Репутация: нет
Всего: 2



Я понимаю, что можно использовать и TStrings, но тогда в ObjectInspector-е не виден текст, Мне кажется, что не совсем удобно, когда Caption  отображается в виде "Чего-то там". И вообще..., мне теперь перенаправлять базовый Caption на TStrings чтоли?
Также, есть дополнительные неудобства, TStrings надо создавать и удалять, цеплять, как минимум мутатор сетер.
Кароче не убедили.
Мой вопрос относится как для базовых (имеющихся в родительском классе), так и к новым пропертям, как к ним припаять String-Editor. Я согласен дяже прицеплять его самостоятельно, но была бы готовая форма, ну и т.д.


--------------------
Я могу ВСЁ, вопрос - сколько времени у меня это займет!
PM MAIL ICQ   Вверх
Vyacheslav
Дата 31.7.2008, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 47
Всего: 59



RegisterPropertyEditor должен помочь делу

Вот например как я в свое время делал  для стринговых пропертей редактор  в виде ниспадающего списка
Объявление редактора
Код

class TFunctionNamePropertyEditor : public TStringProperty
{
    typedef TStringProperty inherited;
public:
    virtual TPropertyAttributes __fastcall GetAttributes(void)
         { return TPropertyAttributes() << paValueList; };
    virtual void __fastcall GetValues(Classes::TGetStrProc Proc);
}


Ну и  регистрация редактора для конкретной проперти
Код

RegisterPropertyEditor(
            *GetPropInfo(__typeinfo(TEntryPoint),"FunctionName")->PropType,
                         __classid(TEntryPoint),
                         "FunctionName",
                         __classid(TFunctionNamePropertyEditor));


Для  твоей задачи все должно решаться аналогично. Указываешь вместо paValueList  paDialog и перегружаешь метод 
Код

    virtual void __fastcall Edit(void);

вместо GetValues





--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Лена
Дата 1.8.2008, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 879
Регистрация: 16.8.2006

Репутация: 11
Всего: 11



Дополнительно, очень подробно расмотрен это вопрос по созданию эдиторов любого типа для своих компонентов в этой книге: http://www.books.ru/shop/books/341882
может где-то есть в электронном виде...
PM MAIL   Вверх
SerK
Дата 8.8.2008, 00:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 31.3.2007

Репутация: нет
Всего: нет



Друзья!

Может кто знает, почему у меня не компилируемся программа, где установлен мой компонент со TStringProperty. Без него компонент работает, программа компилируется.
Выдает сообщение об ошибке:

[
Код

Linker Error] Unresolved external '__tpdsc__ Designeditors::TStringProperty' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\LIB\PROBAEDITPROPP.LIB|E:\Мои проекты-С++\Компоненты\ ProbaEditProp\ProbaEditProp.cpp
  [Linker Error] Unresolved external 'Designeditors::TStringProperty::' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\LIB\PROBAEDITPROPP.LIB|E:\Мои проекты-С++\Компоненты \ProbaEditProp\ProbaEditProp.cpp



--------------------
Пусть будет миру хорошо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

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

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.1114 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.