Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 TextBox, цвет  [new]
k_sv
Member

Откуда:
Сообщений: 80
Добрый день всем.
Вопрос новичка.
Как в форме с помощью метода SetAll для TextBox - ов, которые enabled() сделать цвет, допустим, черный, а для недоступных - синим?
Ну что-то типа :
ThisForm.SetAll("DisabledForeColor", ;
"IIF(this.enabled(), RGB(0,0,0) ;
, RGB(0,0,255))", "TextBox")
Но это не правильно. :)
11 июл 05, 15:25    [1693371]     Ответить | Цитировать Сообщить модератору
 Re: TextBox, цвет  [new]
Crispy
Member

Откуда:
Сообщений: 523
А если так:
thisForm.SetAll("ForeColor", RGB(0, 0, 0), "TextBox")
thisForm.SetAll("DisabledForeColor", RGB(0, 0, 255), "TextBox")
11 июл 05, 16:17    [1693656]     Ответить | Цитировать Сообщить модератору
 Re: TextBox, цвет  [new]
k_sv
Member

Откуда:
Сообщений: 80
Подходит. :)
Спасибо.
11 июл 05, 16:39    [1693795]     Ответить | Цитировать Сообщить модератору
 Re: TextBox, цвет  [new]
k_sv
Member

Откуда:
Сообщений: 80
Спасибо за помощь.
Но что-то у меня не получается для TextBox-ов установить свойство "BorderStyle" (0 или 1) в зависимости от того, доступно оно, или нет (enabled() = .t. или .f.).
Заранее благодарна.
11 июл 05, 19:23    [1694357]     Ответить | Цитировать Сообщить модератору
 Re: TextBox, цвет  [new]
Igor Korolyov
Member

Откуда: Гомель, Беларусь
Сообщений: 2512

Hi k_sv!

Штатными средствами это невозможно сделать. Вот если взять класс SetAllX из FFC (или его дополненный и исправленный вариант SetAllX2 из раздела решений сайта foxclub.ru) то можно будет и выражения применять, и фильтровать "задействованные" контролы более тонко...
а так - ну можно завести свойство, скажем lMyTriggerProperty - навесить на него Assign метод, в котором в зависимости от This.Enabled или других факторов менять свойства контрола - а в SetAll прописать "дёргание" этого самого свойства lMyTriggerProperty - причём неважно какое значение присваивать - главное собственно инициировать присваивание нового значения (даже если оно и будет равно старому, метод сработает).

Posted via ActualForum NNTP Server 1.2

12 июл 05, 03:16    [1694717]     Ответить | Цитировать Сообщить модератору
 Re: TextBox, цвет  [new]
Crispy
Member

Откуда:
Сообщений: 523
Hi k_sv !

А еще, наряду с теми интересными способами, что предложил Igor Korolyov, наверно можно сделать и так:
Сохранить TextBox как класс, скажем, MyTextBox. Открыть этот класс на редактирование и в свойство Init положить все, что необходимо -
this.BorderStyle=IIF(this.Enabled,1,0)
this.DisabledBackColor=IIF(this.Enabled,RGB(0,0,0),RGB(0,0,255))
...
А потом - добавить класс в проект и использовать вместо стандартного.
12 июл 05, 10:22    [1695094]     Ответить | Цитировать Сообщить модератору
 Re: TextBox, цвет  [new]
Crispy
Member

Откуда:
Сообщений: 523
Хотя, конечно, этот способ немного неудобен тем, что при каждом изменении свойства Enabled текстбокса нужно каждый раз вызывать и его метод Init.
12 июл 05, 10:39    [1695166]     Ответить | Цитировать Сообщить модератору
 Re: TextBox, цвет  [new]
k_sv
Member

Откуда:
Сообщений: 80
Благодарю за предложенные варианты. А еще за то, что спасаете от топтания на месте. Буду пробовать.
Еще раз спасибо.
12 июл 05, 12:47    [1695900]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить