|
Узнать наличие свойства у объекта
|
|||
---|---|---|---|
#18+
Хочется сделать такую функцию для формы (см. код), только свойство Enabled не у всех контролов есть (например, у надписей нет :-) Как проверить наличие свойства у объекта? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2009, 12:18 |
|
Узнать наличие свойства у объекта
|
|||
---|---|---|---|
#18+
а, вписать в начеле процедуры: On Error Resume Next ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2009, 12:20 |
|
Узнать наличие свойства у объекта
|
|||
---|---|---|---|
#18+
Если на строке Код: plaintext
будет ошибка, значит у элемента нет такого свойства. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2009, 12:21 |
|
Узнать наличие свойства у объекта
|
|||
---|---|---|---|
#18+
незаморачиватся, таки можно проверять тип контрола селект кейсом. И в зависимости от - ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2009, 15:39 |
|
Узнать наличие свойства у объекта
|
|||
---|---|---|---|
#18+
Чтобы всему Enabled:=False - сразу EnableWindow Me.hwnd, 0 ;-) Будет не достучаться 100% зы: если что - в подформе работает ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2009, 15:52 |
|
Узнать наличие свойства у объекта
|
|||
---|---|---|---|
#18+
RestavraciyaЧтобы всему Enabled:=False - сразу EnableWindow Me.hwnd, 0 ;-) Будет не достучаться 100% зы: если что - в подформе работает Имхо в этом случае контролы не приобретают Disable-вид (юзеру поведение окна становится не понятно). Кроме того, "сквозь" такое окно можно щелкнуть мышкой на то окно, что лежит за ним. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2009, 16:30 |
|
Узнать наличие свойства у объекта
|
|||
---|---|---|---|
#18+
Можно в переборе коллекции Controls узнать его тип - каждый контрол имеет свойство ControlType И если он вас устроит, то выполнить вашу процедуру Inc (i). разных ControlType всего 18, не так уж и трудно их просеять ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2009, 22:19 |
|
Узнать наличие свойства у объекта
|
|||
---|---|---|---|
#18+
Сделал в итоге On Error Resume Next Контролы замораживает, только несколько штук оставляет... Цикл стал такой Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2009, 03:00 |
|
Узнать наличие свойства у объекта
|
|||
---|---|---|---|
#18+
автортолько несколько штук оставляет...Среди них есть тот, на котором в момент заморозки установлен фокус ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2009, 04:34 |
|
Узнать наличие свойства у объекта
|
|||
---|---|---|---|
#18+
+ Из каких соображений цикл от 1 до Count ? Нет контрола с индексом Count, есть с индексом Count-1 Значит остался ЕЩЕ один контрол (+ к тому на котором фокус) - это контрол с индексом =0 Надо Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2009, 04:42 |
|
Узнать наличие свойства у объекта
|
|||
---|---|---|---|
#18+
зы: вот до чего может довести тупое (в вашем случае) применение On Error Resume Next ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2009, 04:47 |
|
Узнать наличие свойства у объекта
|
|||
---|---|---|---|
#18+
Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2009, 11:29 |
|
Узнать наличие свойства у объекта
|
|||
---|---|---|---|
#18+
Restavraciya, Всегда думал, что БАЗЕК не Ц и в нём всё с единицы начинается. Впрочем, согласен: моя ошибка. Сделал цикл в итоге Код: plaintext 1. 2.
Всё равно два поля оставляет, но редактировать их всё равно нельзя (ещё и формы AllowEdits = false), а серым не выделяет ну и хрен с ними! P.S. Пришлось тут писать одну программу на flash -- тоже идиотизм ещё тот, но хотя бы не получается таких ляпов как в vb. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2009, 16:51 |
|
Узнать наличие свойства у объекта
|
|||
---|---|---|---|
#18+
отвлеченно полюбопытствую вам не кажется странным проверять Код: plaintext
Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2009, 17:08 |
|
Узнать наличие свойства у объекта
|
|||
---|---|---|---|
#18+
AshtonЕсли на строке Код: plaintext
будет ошибка, значит у элемента нет такого свойства. если на этой строке будет ошибка, то, скорее потому, что неверно написано имя коллекции Controls ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2009, 17:21 |
|
Узнать наличие свойства у объекта
|
|||
---|---|---|---|
#18+
Не обратил внимание, на то как написал автор. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2009, 17:31 |
|
Узнать наличие свойства у объекта
|
|||
---|---|---|---|
#18+
BULK INSERT, Ой, подколол! В этом форуме нихера не изменить уже написанное сообщение. В первом посте ошибся, когда набивал -- что, теперь враг? Конечно же там должно быть Me.Controls.Item(i).Enabled = st; в программе у меня так и написано. В форум по известным соображениям живой код не выкладываю, а упрощённый пример, чтобы тебе же, милейший друг, голову лишним не забивать! ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2009, 14:33 |
|
|
start [/forum/topic.php?fid=45&gotonew=1&tid=1639106]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
13ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 271ms |
total: | 447ms |
0 / 0 |