Page 1 of 2

Выделение в Edit'ах

Posted: Tue 02 Mar, 2010 10:17
by Max Rusov
Предлагаю ввести опцию в диалогах:

[x] Выделять текст при входе в поле

Это бы соответствовало стандартному поведению диалогов Windows.

Re: Выделение в Edit'ах

Posted: Tue 02 Mar, 2010 10:34
by Skirda
В АПИ есть DIF_SELECTONENTRY...
другое дело, что...
и куда ты эту опцию хочешь вопхнуть?

Re: Выделение в Edit'ах

Posted: Tue 02 Mar, 2010 10:36
by Max Rusov
В Dialog Settings. Хотелось бы, чтобы это влияло на все имеющиеся диалоги.

Re: Выделение в Edit'ах

Posted: Tue 02 Mar, 2010 11:19
by Skirda
на мантис

Re: Выделение в Edit'ах

Posted: Tue 02 Mar, 2010 12:00
by NightRoman
Max Rusov wrote:Предлагаю ввести опцию в диалогах:

[x] Выделять текст при входе в поле

Это бы соответствовало стандартному поведению диалогов Windows.
Раз это будет опционально, в принципе меня это не касается, скажем, не буду пользовать и все. Но поворчу немного против bloated фичи, какой она собирается быть, на первый взгляд.
-- И где такая настройка в самом Windows?
-- Про какие диалоги Windows идет речь? Это не везде так работает, а только там, где разработчики конкретного диалога (и поля ввода) сделали такой выбор. Почему Фар в этом плане должен отличаться?

Re: Выделение в Edit'ах

Posted: Tue 02 Mar, 2010 12:08
by Centaur
Вообще в FAR’е уже и так аналогичное поведение — поля ввода по умолчанию находятся в состоянии «не редактировалось» и новый вводимый текст затирает старое содержимое. В Windows содержимое выделяется ровно для того же, с той разницей, что у них нет для этого отдельного состояния.

Re: Выделение в Edit'ах

Posted: Tue 02 Mar, 2010 12:09
by Max Rusov
NightRoman wrote: -- И где такая настройка в самом Windows?
-- Про какие диалоги Windows идет речь? Это не везде так работает, а только там, где разработчики конкретного диалога (и поля ввода) сделали такой выбор. Почему Фар в этом плане должен отличаться?
1. В Windows такой настройки нет, считай эта опция всегда включена. Я предположил, что не все пользователи Far будут этому рады, поэтому предложил сделать фичу опциональной.
2. В подавляющем большинстве однострочных полей оно включено.

Re: Выделение в Edit'ах

Posted: Tue 02 Mar, 2010 12:13
by Max Rusov
Centaur wrote:Вообще в FAR’е уже и так аналогичное поведение — поля ввода по умолчанию находятся в состоянии «не редактировалось» и новый вводимый текст затирает старое содержимое. В Windows содержимое выделяется ровно для того же, с той разницей, что у них нет для этого отдельного состояния.
Есть разница. Если в FAR'е сбросить это состояние а потом выйти и снова вернуться в поле - то оно не установится.
Кроме того, есть проблема задания цвета. Если задать этому состоянию цвет = цвету выделения, то при открытии диалога со множеством полей ввода создается впечатление, что все они выделены, а это не правильно, так как выделение должно быть только в одном (сфокусированном) поле...

Re: Выделение в Edit'ах

Posted: Tue 02 Mar, 2010 12:15
by NightRoman
Max Rusov wrote:1. В Windows такой настройки нет, считай эта опция всегда включена. Я предположил, что не все пользователи Far будут этому рады, поэтому предложил сделать фичу опциональной.
2. В подавляющем большинстве однострочных полей оно включено.
Доказательства?

Мои доказательства. Я только что создал ВинФорм проект в студии и диалог с несколькими полями ввода. Ничего больше не менял. Запустил этот диалог и набросал по слову в каждое поле ввода, потом пошел по ним табуляцией - ничего там не выделяется при получении фокуса.

Re: Выделение в Edit'ах

Posted: Tue 02 Mar, 2010 12:15
by HaRT
NightRoman wrote:Про какие диалоги Windows идет речь?
Таких действительно много. Например, Customize Regional Options. И лично мне такое поведение удобно.
NightRoman wrote:Это не везде так работает, а только там, где разработчики конкретного диалога (и поля ввода) сделали такой выбор.
Скорее всего, это правда, только вот в Винде почти везде так, а в Фаре почти нигде.
NightRoman wrote:Почему Фар в этом плане должен отличаться?
Отвечу на родственный вопрос: зачем. Затем, чтобы те пользователи, которые хотят поведение, единообразное с графическими диалогами, могли этого легко достичь.

Re: Выделение в Edit'ах

Posted: Tue 02 Mar, 2010 12:20
by Max Rusov
NightRoman wrote:Доказательства?
Все программы, которые у меня есть под рукой во всех стандартных диалогах ведут себя так. От Notepad'а до VisualStudio. Так что это скорее тебе стоит привести пример программы, в которой это правило нарушается.

Re: Выделение в Edit'ах

Posted: Tue 02 Mar, 2010 12:22
by NightRoman
Hart
Все замечательно. А если такое поведение неприемлимо для какого-то поля по задумке автора? Тогда надо вводить в АПИ флаг DO_NOT_SELECT_ON_ENTRY_EVEN_IF_IT _IS_SET_IN_OPTIONS?

Re: Выделение в Edit'ах

Posted: Tue 02 Mar, 2010 12:29
by HaRT
NightRoman wrote:Hart
Все замечательно. А если такое поведение неприемлимо для какого-то поля по задумке автора?
С формально-академической точки зрения, верное замечание. Однако на практике я что-то не припомню такого случая. А Вы?
И даже если такие случаи есть, то предлагаемое поведение повлияет, скорее всего, только на удобство использования, а не на корректность работы. И если какой пользователь включил себе обязательное выделение при фокусировке поля ввода, то тут он ССЗБ.

Re: Выделение в Edit'ах

Posted: Tue 02 Mar, 2010 12:30
by Max Rusov
NightRoman wrote:Все замечательно. А если такое поведение неприемлимо для какого-то поля по задумке автора? Тогда надо вводить в АПИ флаг DO_NOT_SELECT_ON_ENTRY_EVEN_IF_IT _IS_SET_IN_OPTIONS?
В принципе, замечание верное. Это было бы правильно (не с таким утрированным названием, конечно). Правда, мне пока не приходит в голову ни одного примера, где бы это было нужно сейчас, но на будущее, для многострочных полей - почему бы и нет.

Re: Выделение в Edit'ах

Posted: Tue 02 Mar, 2010 12:31
by NightRoman
Max Rusov wrote:
NightRoman wrote:Доказательства?
Все программы, которые у меня есть под рукой во всех стандартных диалогах ведут себя так. От Notepad'а до VisualStudio. Так что это скорее тебе стоит привести пример программы, в которой это правило нарушается.
Да полно. Оутлук вот. Открой е-мейл и походи по To, Cc, Subject, Body. Ничего не выделяется.