Расширение функциональности Dlg.GetValue

Здесь обсуждается всё, что касается макросов.
Post Reply
User avatar
HaRT
Moderator
Posts: 8548
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 76 times
Been thanked: 138 times

Расширение функциональности Dlg.GetValue

Post by HaRT » Wed 14 Mar, 2018 23:42

Сейчас для поля ввода вызов Dlg.GetValue с Type=7 вернёт 0 (по «статье» „Остальные“). А вот, например, для списков возвращается их текущая позиция. Считаю логичным, чтобы для полей ввода возвращался номер символа под кареткой (аналогичный Editor.RealPos).
Это нужно, например, в скриптах, которые что-то делают с текущим символом из контекста ввода (редактор, командная строка, поле ввода, …).
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
John Doe
Бюрократ
Posts: 12107
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 29 times
Been thanked: 154 times

Расширение функциональности Dlg.GetValue

Post by John Doe » Thu 15 Mar, 2018 08:11

HaRT wrote:
Wed 14 Mar, 2018 23:42
номер символа под кареткой
Если поле ввода в фокусе, то Object.CurPos.
Иначе DM_GETEDITPOSITION.

P.S.
Что до расширения функциональности.
Вреда конечно не будет, но надо признать что функция Dlg.GetValue страшна, и развивать её просто не перспективно.
Стоит подумать о какой-то более красивой замене.
Last edited by John Doe on Thu 15 Mar, 2018 08:20, edited 1 time in total.

User avatar
HaRT
Moderator
Posts: 8548
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 76 times
Been thanked: 138 times

Расширение функциональности Dlg.GetValue

Post by HaRT » Thu 15 Mar, 2018 12:31

John Doe wrote:
Thu 15 Mar, 2018 08:11
Иначе DM_GETEDITPOSITION.
Да, пока так и сделал, но мне не нравится без особой нужды смешивать два API.
John Doe wrote:
Thu 15 Mar, 2018 08:11
Если поле ввода в фокусе, то Object.CurPos.
Спасибо, не знал.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Post Reply

Return to “Обсуждение макросов”