Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Присвоить свойство из строки [D7, WinXP]


Страницы:   1 2

Den303 ©   (2007-08-21 11:54:00) 

Доброго времени суток!

Такой вопрос: есть набор свойств в текстовом виде (из xml), нужно задать свойства контрола из этого файла.
Короче, как задать свойство компонента, которое хранится в виде строки?

Рыл в сторону FindComponent, но он находит только контрол, а не его свойства.


Плохиш   (2007-08-22 11:22:00) [1]


> ОК, тогда следующий вопрос: в каком обработчике "моего Object
> Inspector" писАть функцию изменения объекта (к примеру,
> изменение Caption в реальном режиме времени)?

OnGetEditText  и OnSetEditText, если включена опция goEditing или
OnSelectCell, если эта опция выключена.


Den303   (2007-08-22 08:45:00) [2]

> Плохиш ©   (21.08.07 17:26) [29]

ОК, тогда следующий вопрос: в каком обработчике "моего Object Inspector" писАть функцию изменения объекта (к примеру, изменение Caption в реальном режиме времени)? Я пишу в OnKeyDown. Приходится ведь запрещать ручками изменение и проверять в обработчике события. Неужто нет родного свойства запрета изменений?

>Юрий Зотов ©   (21.08.07 18:07) [30]
ОК, спасибо ещё раз, буду знать :o)


Юрий Зотов   (2007-08-21 18:07:00) [3]

> den303 ©   (21.08.07 17:06) [25]

> как по другому назвать фокус на лейбле

Это не фокус, это выделение. Лейбл ВЫДЕЛЕН (или ВЫБРАН) в дизайнере формы. В ToolsAPI оно так и называется - SelectionList (ведь выбрать можно и несколько компонентов одновременно).


Плохиш   (2007-08-21 17:26:00) [4]


> den303 ©   (21.08.07 17:19) [28]

ItemProps...ReadOnly реализует функциональность, описанную в [22] и нигде не говориться, что указанные события не будут активизироваться. К тому же требование о запрещении OnKeyDown вообще отражает нелицеприятным образом знания требующего основ используемого языка программирования.


den303   (2007-08-21 17:19:00) [5]


> Плохиш ©   (21.08.07 17:16) [26]

А это ([22]) я не Вам :o)


den303   (2007-08-21 17:17:00) [6]


> Плохиш ©   (21.08.07 17:16) [26]

А это я не Вам :o)


Плохиш   (2007-08-21 17:16:00) [7]


> всё равно происходят события OnKeyDown и OnSetEditText

Какое это имеет отношение к куче букав из [22]?


den303   (2007-08-21 17:06:00) [8]


> Юрий Зотов ©   (21.08.07 16:57) [23]

ОК, спасибо за замечания. Я не знаю, как по другому назвать фокус на лейбле. Он же таки есть. Конечно не фокус ввода, но фокус :o)
И вообще, к словам прикапываться не есть гуд. Мы все не боги и делаем ошибки.


> Плохиш ©   (21.08.07 17:01) [24]

Это пробовал, но, по какой-то причине, всё равно происходят события OnKeyDown и OnSetEditText


Плохиш   (2007-08-21 17:01:00) [9]

ValueListEditor1.ItemProps[...].ReadOnly := true;


Юрий Зотов   (2007-08-21 16:57:00) [10]

> den303 ©   (21.08.07 16:47) [22]

1. Установить фокус ВВОДА на TLabel может все-таки ТОЛЬКО фокусник. К словам, конечно, прикапываться не стоит, но и употреблять ТЕРМИНЫ надо по их назначению. Или не употреблять их совсем, чтобы никого не путать.
:о)

2. В среде Delphi это делается с помощью редактора свойства (см. метод GetAttributes). Покольку в run-time среды Delphi у нас нет, то и такого способа тоже нет. Поэтому можно делать хоть перехватом клавиш, хоть как угодно еще.


den303   (2007-08-21 16:47:00) [11]


> Сергей М. ©   (21.08.07 16:29) [21]


Создание скриншота вопроса den303 собственными руками. Инструкция.

1. Запускаете Delphi. К номеру версии просим не прикапываться; желательна 7 версия, как и в первоисточнике, хотя и не принципиально.
2. Помещаете Label со вкладки Standard на форму (не забудьте создать форму!).
3. Устанавливаете фокус (нет-нет, никакого отношения к фокусникам это не имеет, не стоит пытаться прикопаться к словам; это всего лишь фокус ввода) на Label (TLabel, Label1, как угодно).
4. В инспекторе объектов ставите фокус на Font. Пытаетесь ввести что нибудь. Не получается.
5. Инструкция закончена.
6. Внимание, вопрос: как сделать аналогичную функциональность? Хотя неважно, я уже клавиши перехватываю.


Сергей М.   (2007-08-21 16:29:00) [12]


> в Борланде как сделали?
>


Сделали ЧТО ?!

Скриншот покажи)..


den303   (2007-08-21 16:26:00) [13]

>Сергей М. ©   (21.08.07 16:18) [19]

А в Борланде как сделали?


Сергей М.   (2007-08-21 16:18:00) [14]


> как сделать ReadOnly конкретную строку в ValueListEditor?
>
>


Никак.


den303   (2007-08-21 16:18:00) [15]


> Сергей М. ©   (21.08.07 16:08) [17]


Я же сказал, что, возможно, выразился неправильно.
Переформулирую вопрос: как сделать ReadOnly конкретную строку в ValueListEditor?


Сергей М.   (2007-08-21 16:08:00) [16]


> Короче, как в Object Inspector при щелчке на пункте Font,
>  к примеру.


И что там при этом за disableно ?

Скриншот покажи ..


den303   (2007-08-21 16:05:00) [17]

>Сергей М. ©   (21.08.07 15:57) [15]

Мож выразился неправильно...
Короче, как в Object Inspector при щелчке на пункте Font, к примеру.


Сергей М.   (2007-08-21 15:57:00) [18]


> den303 ©   (21.08.07 15:54) [14]


Скриншот покажи)..


den303   (2007-08-21 15:54:00) [19]


> Никак.

А как у Борланда в Object Inspector получилось? Тож так хочу :o)


Сергей М.   (2007-08-21 15:38:00) [20]


> Как disable'ить конкретную строку в ValueListEditor?


Никак.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо