![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Присвоить свойство из строки [D7, WinXP]
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?
Никак.