Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Свойство в виде выпадающего списка, при создании компонента 
V
    Опции темы
mr.Anderson
Дата 24.1.2007, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


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

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



Вот я знаю, что при создании компонента можно задать свойство, например, так:
Код

__published:
  __property bool MyProperty { read = x1, write = Setx1, default = true }

Это получится свойство, которое может быть только TRUE/FALSE.

Вопрос 1. Как можно сделать свойство, например, текстовое? Просто не задавать DEFAULT?
Вопрос 2, основной. Как можно сделать свойство в виде выпадающего списка? Например, чтобы это свойство задавало режим работы нового компонента.

Это сообщение отредактировал(а) mr.Anderson - 24.1.2007, 21:29


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Vyacheslav
Дата 24.1.2007, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(mr.Anderson @  24.1.2007,  11:39 Найти цитируемый пост)
Вот я знаю, что при создании компонента можно задать свойство, например, так:

Надеюсь, что знаете smile и поэтому лишь случайно пропустили самое главное, что определяет 

Цитата(mr.Anderson @  24.1.2007,  11:39 Найти цитируемый пост)
свойство, которое может быть только TRUE/FALSE.

А именно его тип bool
Отсюда вывод: поведение поля ввода в инспекторе определяется в основном типом свойства
и соответвенно
Цитата(mr.Anderson @  24.1.2007,  11:39 Найти цитируемый пост)
Вопрос 1. Как можно сделать свойство, например, текстовое? Просто не задавать DEFAULT?

задать соответсвующий тип AnsiString
Код

__published:
  __property AnsiString MyProperty { read = FMyProperty, write = SetMyProperty }


Цитата(mr.Anderson @  24.1.2007,  11:39 Найти цитируемый пост)
Вопрос 2, основной. Как можно сделать свойство в виде выпадающего списка? Например, чтобы это свойство задавало режим работы нового компонента. 

Определить для свойства тип enum
Код

 enum  TypeOfComponent { Limited =0 , Standard, Extended };

Код

__published:
  __property  TypeOfComponent { MyProperty { read = FMyProperty, write = SetMyProperty , default = 1}







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


iOS Lead Developer
****


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

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



Ваш последний код не сработал, я его заменил вот так:
Код

...
int mode;
enum MyEnum { int1=0, int2 };
...
__published:
  __property MyEnum Mode = { read = mode, write = mode };

Получил ошибку: 
Цитата
[C++ Error] EditExt.h(43): E2347 Parameter mismatch in read access specifier of property Mode

Что не так?


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Vyacheslav
Дата 25.1.2007, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Ну написано же по-английский smile  -  типы не совпадают

int mode;
...
__property MyEnum Mode = { read = mode, write = mode };







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


iOS Lead Developer
****


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

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



Да я понял, что типы не совпадают. smile Я не понял, какой тип присвоить переменным-полям. Тот же MyEnum, что ли? Тогда спасибо большое. smile 


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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