28.04.2009, 18:07 | #1 |
Участник
|
привет.
Заказчик озвучил интересную задачу: при сохранении записи с незаполнеными обязательными полями нужно подсветить поле красным цветом (например), а если на форме несколько закладок (таб контрол), то сначала переключить на нужную закладку. Переключить - SendKeys, а вот как с "подсветкой" быть? Доступиться в рантайме к свойствам Border и иже с ними нельзя, а подсветить надо. У кого какие идеи будут? Н.Б. Идеи о красивых сообщениях не принимаются, нужно именно "покрасить в синий цвет" . заказчик нынче на вес золота и спорить с ним - последнее дело ) |
|
28.04.2009, 19:03 | #2 |
Участник
|
Цитата:
Сообщение от Genost
привет.
Заказчик озвучил интересную задачу: при сохранении записи с незаполнеными обязательными полями нужно подсветить поле красным цветом (например), а если на форме несколько закладок (таб контрол), то сначала переключить на нужную закладку. Переключить - SendKeys, а вот как с "подсветкой" быть? Доступиться в рантайме к свойствам Border и иже с ними нельзя, а подсветить надо. У кого какие идеи будут? Н.Б. Идеи о красивых сообщениях не принимаются, нужно именно "покрасить в синий цвет" . заказчик нынче на вес золота и спорить с ним - последнее дело ) 2. Кладем клоны на тех же вкладках, что и оригиналы (не надо накладывать на сами оригиналы) и делаем их не видимыми 3. В момент Х делаем оригиналы невидимыми, задаем клонам координаты оригинала и делаем их видимыми. Командуем CurrForm.ИмяКлона.ACTIVATE; Все. |
|
28.04.2009, 19:08 | #3 |
MCTS
|
Цитата:
Сообщение от Genost
Заказчик озвучил интересную задачу: при сохранении записи с незаполнеными обязательными полями нужно подсветить поле красным цветом (например), а если на форме несколько закладок (таб контрол), то сначала переключить на нужную закладку. Переключить - SendKeys, а вот как с "подсветкой" быть? Доступиться в рантайме к свойствам Border и иже с ними нельзя, а подсветить надо. У кого какие идеи будут?
Н.Б. Идеи о красивых сообщениях не принимаются, нужно именно "покрасить в синий цвет" . заказчик нынче на вес золота и спорить с ним - последнее дело ) Код: Form - OnQueryCloseForm() : Boolean IF "Field1" = '' THEN BEGIN CurrForm."Field1".Activate; ERROR(''); END; UPD. Медленно писал. Fordewind опередил |
|
28.04.2009, 19:31 | #4 |
Участник
|
ох, спасибо ребята, но не подходит... такую функциональность нужно предусмотреть на всех формах (мамадарагая). а если заказчик подкрутит еще какой-то ад-он стороннего партнера? туда мы средствами НАВ-а не влезем (лицензия), да и если влезем, то опять-таки нужно продублировать таким макаром все новые формы. сколько их там тыщ только в стандартной поставке?...
может, еще будут варианты? |
|
29.04.2009, 11:21 | #5 |
Участник
|
Цитата:
Сообщение от Genost
ох, спасибо ребята, но не подходит... такую функциональность нужно предусмотреть на всех формах (мамадарагая). а если заказчик подкрутит еще какой-то ад-он стороннего партнера? туда мы средствами НАВ-а не влезем (лицензия), да и если влезем, то опять-таки нужно продублировать таким макаром все новые формы. сколько их там тыщ только в стандартной поставке?...
может, еще будут варианты? А у заказчика денег хватит на такую хотелку? Я конечно, понимаю, что кризис и все такое, но это не предусмотрено ядром ну никак. |
|
29.04.2009, 11:26 | #6 |
Участник
|
Обычный, стандартный, так не любимый пользователями TESTFIELD мне кажется намного лучше. И тонизирует хорошо. И пользователи расслабляться не будут и знать будут на каких вкладках формы какие поля. Глядишь ориентироваться в СВОЕЙ работе будут лучше -)
|
|
29.04.2009, 12:42 | #7 |
Участник
|
|
|
29.04.2009, 13:14 | #8 |
MCTS
|
Цитата:
Скорее всего вас смутила строка CurrForm."Field1".Activate; Обратите внимание, что Field1 это не поле, а имя (свойство name) нужного элемента управления (textbox). |
|
29.04.2009, 13:36 | #9 |
Участник
|
|
|
29.04.2009, 15:22 | #10 |
Administrator
|
Цитата:
криво, конечно, все это, и кодить много... но, если женщина хочет... рядом с каждым полем вставить битмапс: желтый треугольник с восклицательным значком. менять его видимость |
|