powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / НЕ Перемещение фокуса
29 сообщений из 29, показаны все 2 страниц
НЕ Перемещение фокуса
    #32783804
hurr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть у нас такое волшебное свойство у поля ввода в DW - Required
Все хорошо в нем - одно плохо. КОгда попадаешь в это поле пока не заполнил его не выйдешь - ХОРОШО. Но если тыкать мышью в Tab-ы , кнопки - в этом же окошке - пожалуйста. Никто не пробовал для окна сделать так, что если уж попали в такое поле ввода , чтоб ничего кроме ввода не работало в нем ?
...
Рейтинг: 0 / 0
НЕ Перемещение фокуса
    #32783966
Enlighten me
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обработка Losefocus здесь не поможет?
...
Рейтинг: 0 / 0
НЕ Перемещение фокуса
    #32783975
Фотография urvas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если я не ошибаюсь, Losefocus относится к DataWindow и к отдельному полю не применимо.
...
Рейтинг: 0 / 0
НЕ Перемещение фокуса
    #32784015
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hurrЕсть у нас такое волшебное свойство у поля ввода в DW - Required
Все хорошо в нем - одно плохо. КОгда попадаешь в это поле пока не заполнил его не выйдешь - ХОРОШО.
ПЛОХО.

Никто не пробовал для окна сделать так, что если уж попали в такое поле ввода , чтоб ничего кроме ввода не работало в нем ?
Нет. Если сделает кто-то другой в пределах досягаемости - оторву руки и кое-что- ещё ;).
...
Рейтинг: 0 / 0
НЕ Перемещение фокуса
    #32784031
Фотография Ikar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim2000 hurrЕсть у нас такое волшебное свойство у поля ввода в DW - Required
Все хорошо в нем - одно плохо. КОгда попадаешь в это поле пока не заполнил его не выйдешь - ХОРОШО.ПЛОХО.
Аргументируйте пожалуста... ;-)
---
С уважением, IKAR

ikarhomecenter@narod.ru
IkarHomeCenter
...
Рейтинг: 0 / 0
НЕ Перемещение фокуса
    #32784038
Enlighten me
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
urvasЕсли я не ошибаюсь, Losefocus относится к DataWindow и к отдельному полю не применимо.Веутри dwo фокус перекинуть и так не получится, а проверить, что происходит попытка покинуть dwo не введя required данные - где, как не в losefocus?

С невмеру воинственным Dim2000 можно согласиться в том, что это не самый user frendly подход к интерфейсу. Визарды зачем изобретали?
...
Рейтинг: 0 / 0
НЕ Перемещение фокуса
    #32784064
hurr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не поможет
Делаем DW с одним полем и ставим ему свойство "Required"
Ложим в него еще 10 кнопок
все DW помещаем на 128-ю TabPage_128 в окне W_1 с Tab-Control Tab_1
Ставим курсор в поле.
А теперь жмем куда угодно. Внутри DW-Control перемещатся не будем.
А вот в нутри окна по другим закладкам , да по тем же кнопкам в DW - без проблем.

Прям не знаю че делать...

Ситуация то какая - чтоб понятнее было.

Попал он (Юзверь) в поле такое. Прям как в капкан. Выйти не может.
Все - как зверю ему лапу то в капкане защемило. Тока зверя жалко, а узера - нет. Ну вот а МегаМозг то не спит - работает , у них же "то разум горит, то брезжит едва"(с)БГ . Он давай мышкой везде тыкать. Сообщения то мы почитали (типа "Не заполнено... ")- почитали да бросили. И тут - опа другие закладки то доступны , да кнопки то нажимаюца - от так он думает "заборол я прогу - терь я хакер". И давай мне названивать , а прога ваша вся прям не работает - вот в 128 закладке у нас не вводяца диагнозы.
Ане водяца в поле ввода в другом то окне почему ? А потому как фокус туда не может попасть (что вобщем то прально)
Понятно что можно написать некое частное решение , но хотелось бы просто чтоб общее было - есть свойство у поля ввода и если оно выставлено - то все мышой в этом окне нефиг тыкать.А в другие окна\меню - пожалста.
...
Рейтинг: 0 / 0
НЕ Перемещение фокуса
    #32784074
hurr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim2000
Нет. Если сделает кто-то другой в пределах досягаемости - оторву руки и кое-что- ещё ;).
Руки коротки ;-)
...
Рейтинг: 0 / 0
НЕ Перемещение фокуса
    #32784100
Enlighten me
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sorry for misprints. User friendly, 'course...
hurrПопал он (Юзверь) в поле такое. Прям как в капкан. Выйти не может.
Все - как зверю ему лапу то в капкане защемило. Тока зверя жалко, а узера - нет. Ну вот а МегаМозг то не спит - работает , у них же "то разум горит, то брезжит едва"(с)БГ . Он давай мышкой везде тыкать. Сообщения то мы почитали (типа "Не заполнено... ")- почитали да бросили. И тут - опа другие закладки то доступны , да кнопки то нажимаюца - от так он думает "заборол я прогу - терь я хакер". И давай мне названивать , а прога ваша вся прям не работает - вот в 128 закладке у нас не вводяца диагнозы.
Диагнозы, говорите... BTW, а траву где берете?
...
Рейтинг: 0 / 0
НЕ Перемещение фокуса
    #32784111
hurr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо то просто клики мышой вне DW-control в котором в Required поле попали , полюс занать его самого первого предка , парента - окна в смысле где оно лежит...
Если ткнули в каком либо другом контроле , который лежит в окне - то фиг , а если открываем другое окно , или в меню основной проги - прожалста ...
Или еще - перед спрашивать, а вот вы это не заполнили то - че бум заполнять и не бум уходить или вы полностью контролируете свои дейстивия и знаете куда хотите мышой ткнуть и вся ответственость за последствия тыканья лежит на вас ?
...
Рейтинг: 0 / 0
НЕ Перемещение фокуса
    #32784126
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IkarАргументируйте пожалуста... ;-)
Совсем не User-friendly, скорее, User-hostile. Данные в полях ввода в ходе редактирования имеют право быть невалидными. Они должны быть валидными только в момент нажатия кнопки 'Ok', тогда их и нужно проверять.

http://www.akzhan.midi.ru/iarchitect/mshame.htm

Один из фундаментальных принципов построения графического пользовательского интерфейса - тот, что пользователю должно позволяться исследовать интерфейс. Выполняя валидацию поля в тот момент, когда пользователь его покидает, Oracle без надобности препятствует пользователям изучать диалог. Диалог следовало построить так, чтобы проверка значений полей происходила только после нажатия пользователем кнопки OK. В данном случае Oracle применил линейную модель к интерфейсу по определению нелинейному. Если в основе процесса выбора новой базы данных безусловно лежит линейная модель, то Oracle'у следовало использовать линейную модель, типа Мастера.
...
Рейтинг: 0 / 0
НЕ Перемещение фокуса
    #32784145
hurr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Enlighten me
Диагнозы, говорите... BTW, а траву где берете?
У Службы Мед статистики. У них по моему где то плантации. =)
...
Рейтинг: 0 / 0
НЕ Перемещение фокуса
    #32784160
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Enlighten meС невмеру воинственным Dim2000 можно согласиться в том, что это не самый user frendly подход к интерфейсу. Визарды зачем изобретали?
Вот-вот, и я о том же. А вообще, я белый и пушистый .

В ситуации, если нужно обязательно что-то заполнить на первой страничке Tab-а до перехода к другим, могу посоветовать блокировать переключение страничек до момента "Х".
...
Рейтинг: 0 / 0
НЕ Перемещение фокуса
    #32784453
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как обычно - в PFC подобная проблема уже решена.
n_cst_dwsrv_reqcolumn.
Читаем описание. Смотрим код. Думаем.

З.Ы. Дикие люди. Столько эмоций по такому пустяковому поводу.
...
Рейтинг: 0 / 0
НЕ Перемещение фокуса
    #32785545
Guest_2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторЗ.Ы. Дикие люди. Столько эмоций по такому пустяковому поводу.
Во-во и я такой же. Дыкий

Если пользователь попал в поле, требующее обязательного заполнения и не хочет его заполнять, ( не факт, что он вообще , из принципа, не хочет этого делать. Возможно лишь только в данных момент не хочет этого делать), то как мне кажется это его законное право. А Ваше право требовать в свою очередь заполнения всей необходимой информации перед записью в БД.

Я иногда делаю так:
- При разработке (design) datawindow object в мастерской (painter) я на все поля требующие обязательного ввода ставлю признак required.

- В uo_dw, который у меня наследуется от стандартного DataWindow Object определяю Instance var - массив наименований полей имеющийх признак Required.

- В конструкторе прохожу в цикле по всем поля dataWinow, ищую выставленный признак required, Снимаю его, а название поля заносится в массив.

- В момент сохранения данных (можно посмотреть событие UpdateStart() ), восстанавливаю для всех колонок признак required и проверяю заполнение этих полей с помощью findRequired(...) . Дальнейшая обработке по вкусу.

Можно и по другому решить эту проблему.
1. Определяете в своем окне, и(ли) пользовательском объекте instance var
dragObject i_objHasFocus - объект имеющий фокус в данный момент.
2. В событии getFocus элементов интерфейса проверяете, значение этой переменной и выполняете необходимые проверки.
(Для TypeOf(i_objHasFocus) = datawindow! Как минимум выполняете accepttext() , проверяете результат, и пролучив -1, возвращает фокус обратно i_objHasFocus.setFocus() )
3. Если проверки прошли успешно, то значит можно оставлять фокус в данном элементе интерфейса (i_objHasFocus = this), если нет, то возвращаете фокус обратно.
...
Рейтинг: 0 / 0
НЕ Перемещение фокуса
    #32785848
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
то что у Вас есть работающее решение это конечно хорошо, но....
Ничего не надо снимать и устанавливать.
Достаточно выявить ситуацию в itemerror и сделать return 3 (Reject the data value but allow focus to change).
Как определить что itemerror именно по причине незаполненного required column см. Describe(...) в pfc_n_cst_dwsrv_reqcolumn.of_settonullifempty(...)
В PFC также перед сохранением выполняется FindRequired,
но при этом нет шаманских плясок с массивами
и установкой/снятием свойства Required.
...
Рейтинг: 0 / 0
НЕ Перемещение фокуса
    #32786023
guest_2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 ЗоринАндрей

Вот и договорились.
Больше ничего не буду снимать и устанавливать .
Действительно, простенько и со вкусом.
...
Рейтинг: 0 / 0
НЕ Перемещение фокуса
    #32786268
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кста, есть одно но. PFC-шный код плохо работает с Required EditMask.
Там идет проверка на Empty String is Null, а такого свойства у EditMask нету.

Типа предупредил...

З.Ы. Как-то мы эту проблему решали, но к сожалению соответствующего кода под рукой нету.
...
Рейтинг: 0 / 0
НЕ Перемещение фокуса
    #32791960
iLLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А на само-то деле, как мне кажется, здесь проблема с логикой организации клиентского софта...
Если одно место логически зависит от другого, то эти места не могут располагаться в одном окне в один момент времени. И разносить их надо не в пространстве - по разным вкладкам, а по времени - сначала одно окно, потом другое (или тоже, но с другой смысловой нагрузкой). Пример: во время работы программы установки (непосредственного копирования данных на диск) пытаться указать папку для установки...
А так какая-то хрень получается, нарушение жизненного цикла пользователя. И не поверю, что есть такие ситуации, когда нужно все засунуть в одно окно.
...
Рейтинг: 0 / 0
НЕ Перемещение фокуса
    #32792181
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чушь собачья.
Пользователям нравится когда все под рукой.
Гораздо удобнее чем путатся "сначала в одном окне, потом в другом".
В Powerdesigner например - 17 tabpages в окне свойств таблицы - и я сразу вижу что где - нафик надо еще запоминать где что в каком окне.
Или например Enterprise Manager - одно окно главное, плюс открывается окно свойств, в котором количество закладок зависит от сложности объекта.
...
Рейтинг: 0 / 0
НЕ Перемещение фокуса
    #32792707
iLLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗоринАндрей...плюс открывается окно свойств, в котором количество закладок зависит от сложности объекта.
Я о том и говорю, что нужно раздалят зависимые параметры от независимых. Ни в Enterprise Manager, ни еще где-нибудь работа в одной вкладке не зависит от вводимых данных в другой. Все зависимые параметры собраны в одной. Если пользователю предоставляются вкладки с открытым доступом, то он имеет право свободно перемещаться по ним, и привязывать к поле - это глупость. Такие моменты надо обходить с другой стороны, например, как писалось выше. Либо ввел, либо иди дальше, но только не туда, куда нельзя. Не имею ничего против вкладок, если много параметров и они привязаны к одному объекту, то их можно разнести на вкладки, но между ними не будет зависимой связи.
...
Рейтинг: 0 / 0
НЕ Перемещение фокуса
    #32792869
hurr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эх, приятно почитать разговоры "мысли" "умных" людей...Жаль что толку в них NULL.
...
Рейтинг: 0 / 0
НЕ Перемещение фокуса
    #32792936
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hurrЭх, приятно почитать разговоры "мысли" "умных" людей...Жаль что толку в них NULL.

По моему Guest_2 не поленился достаточно подробно все объяснить.
С моей поправкой решение получается достаточно простое,
чтобы его мог реализовать не слишком тупой программер.
особенно имея перед собой код PFC в качестве примера.
Что-то все еще непонятно?
или этот выпад относится не к треду, а к трем предыдущим постам?
...
Рейтинг: 0 / 0
НЕ Перемещение фокуса
    #32793062
hurr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗоринАндрей[quot hurr]...или этот выпад относится не к треду, а к трем предыдущим постам?
Угу - к ним имено.Это НЕ относится к тем людям кто дали ДЕЛЬНЫЕ и ПОЛЕЗНЫЕ советы держась в теме данного треда.
...
Рейтинг: 0 / 0
НЕ Перемещение фокуса
    #32793078
iLLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hurrЭто НЕ относится к тем людям кто дали ДЕЛЬНЫЕ и ПОЛЕЗНЫЕ советы держась в теме данного треда.
А разве совет о том, что надо создавать логичный интерфейс не относится к дельным и полезным советам? Или Вы предпочитаете не забивать себе голову тем, как пользователи будут потом ломать себе голову при пользовании таким софтом? Конечно, что может быть проще - засунул все в одно окно и нет проблем... Интерфейс должен быть дружественным .
...
Рейтинг: 0 / 0
НЕ Перемещение фокуса
    #32793107
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перечитал весь топик.
Упоминания о "взаимозависимости" не нашел.
Так что получается что Вы пробему придумали сами, ничего конструктивного не предлагая,
обвиняете уважаемого hurr-а в нелогичности интерфейса, которого Вы не видели и понятия о нем не имеете.

iLLer А разве совет о том, что надо создавать логичный интерфейс не относится к дельным и полезным советам?
Предлагаете медитировать над фразой "Интерфейс должен быть дружественным" до полного просветления?
ИМНСХО, пустозвонство это, если не сказать хуже.

"Рассуждай токмо о том, о чём понятия твои тебе сие дозволяют. Так: не зная законов языка ирокезского, можешь ли ты делать такое суждение по сему предмету, которое не было бы неосновательно и глупо?" (c) К.Прутков
...
Рейтинг: 0 / 0
НЕ Перемещение фокуса
    #32793125
hurr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ЗоринАндрей
Мощьно задвинул, внушаить (С) Хрюн Моржов =)


Советы может и дельные , но они скорее из области общих сведений и в даном контексте ценость их равна нулю.

Софт с дружественым и логичным Интерфейсом должен быть таким - одна большая кнопко "OK" на экране.
Пришел узер - комп включил , увидел во весь экран кнопку( КРАСНУЮ ) - нажал ее.Все само заработало.
Узер - пошел чай пить. 8 часов чай попил - пришел а на экране "Все сделано".
Вот какой интерфейс нужен узеру...А все остальное - это нелогично , не удобно и недружествено - напрягает головушки наших тупорылых узеров.
...
Рейтинг: 0 / 0
НЕ Перемещение фокуса
    #32793210
Andyn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hurrА все остальное - это нелогично , не удобно и недружествено - напрягает головушки наших тупорылых узеров. Ну это... слегка перебор. :) Есть и нормальные пользователи - наши, например, - они в случае каких-то проблем даже не звонят, сами выкручиваются в рамках функциональности программы, причем им никто даже и не говорил как поступать в таких замороченных ситуациях. :)
...
Рейтинг: 0 / 0
НЕ Перемещение фокуса
    #32793323
hurr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andyn hurrА все остальное - это нелогично , не удобно и недружествено - напрягает головушки наших тупорылых узеров. Ну это... слегка перебор. :) Есть и нормальные пользователи - наши, например, - они в случае каких-то проблем даже не звонят, сами выкручиваются в рамках функциональности программы, причем им никто даже и не говорил как поступать в таких замороченных ситуациях. :)

Безусловно есть. Я как то заметил у нормальных пользователей и проги не глючат и винда становится сраазу и в пятницу в 17.59 пароли на винду сами не устанавливаются и не забываются...
...
Рейтинг: 0 / 0
29 сообщений из 29, показаны все 2 страниц
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / НЕ Перемещение фокуса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]