| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > Есть ли возможность отслеживать ввод пользователя в текстовом редакторе?

Есть ли возможность отслеживать ввод пользователя в текстовом редакторе?

Ответ
Поиск в этой теме
Непрочитано 17.02.2019, 13:18 #1
Есть ли возможность отслеживать ввод пользователя в текстовом редакторе?
valerik88
 
Регистрация: 02.07.2016
Сообщений: 249

Например при редактировании объекта Mtext открывается мини текстовой редактор, можно ли как-то отслеживать что вводит пользователь и предлагать ему варианты (автозаполнение).
В идеале бы научиться предлагать автозаполнение при вводе текста в ячейке таблицы.
Начинает пользователь вводить текст в ячейку таблицы и по мере ввода текста программа предлагает ему варианты автозаполнения. Пользователь нажимает на один из вариантов и ячейка заполняется нужным значением.

Может быть событие какое-то есть, типа TextEditorValueChanged....

Наверное можно написать свой мини редактор для этого и открывать его при событии OpenedForModify, но может есть попроще вариант
Просмотров: 6788
 
Непрочитано 17.02.2019, 15:19
1 | #2
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,004


Цитата:
Сообщение от valerik88 Посмотреть сообщение
но может есть попроще вариант
Ну поскольку вопрос задан в .Net - то попроще вариант: ввод пользователя в диалогах с полным контролем действий, а в акад заносить уже готовые данные. Например, использовать контрол DataGridView
Сергей812 вне форума  
 
Непрочитано 18.02.2019, 05:20
1 | #3
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от valerik88 Посмотреть сообщение
Может быть событие какое-то есть, типа TextEditorValueChanged....
Системная переменная TEXTEDITOR + хук на клавиатуру... и у Вас все получиться.

Цитата:
Сообщение от valerik88 Посмотреть сообщение
Наверное можно написать свой мини редактор для этого и открывать его при событии OpenedForModify, но может есть попроще вариант
Можно. Напишите свой редактор с преферансом и куртизанками и вызывать при редактировании текста именно его. И будет Вам счастье... хотя зачем это, вообще не понимаю.
Системная переменная MTEXTED
Boxa вне форума  
 
Автор темы   Непрочитано 18.02.2019, 11:25
#4
valerik88


 
Регистрация: 02.07.2016
Сообщений: 249


Цитата:
Сообщение от Boxa Посмотреть сообщение
Системная переменная MTEXTED
Прикольно, не знал про эту переменную. Затестил с notepad++, работает с mtext, но с text и table не работает.
У меня цель автозаполнение таблицы сделать


Цитата:
Сообщение от Boxa Посмотреть сообщение
Системная переменная TEXTEDITOR
Чёт вообще информации в интернете по этой переменной не нашёл. Правильно я понял, что она становится единицей при открытии встроенного текстового редактора?
valerik88 вне форума  
 
Непрочитано 18.02.2019, 12:24
1 | #5
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Цитата:
Сообщение от valerik88 Посмотреть сообщение
Правильно я понял, что она становится единицей при открытии встроенного текстового редактора?
Попробуй в modemacro вколотить
Код:
[Выделить все]
$(getvar,texteditor)
и посмотри, как она будет меняться.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 18.02.2019, 12:32
#6
valerik88


 
Регистрация: 02.07.2016
Сообщений: 249


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
и посмотри, как она будет меняться.
не меняется чё то
valerik88 вне форума  
 
Непрочитано 18.02.2019, 13:19
1 | #7
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от valerik88 Посмотреть сообщение
не меняется чё то
Плохо смотрите. При открытии редактора, значение переменной меняется с 0 на 1, при закрытии с 1 на 0.
Код:
[Выделить все]
     public class Commands
    {
        [Rtm.CommandMethod("bxTEXTEDITOR")]
        static public void bxTEXTEDITOR()
        {
            // Получение текущего документа и базы данных
            App.Document acDoc = App.Application.DocumentManager.MdiActiveDocument;
            if (acDoc != null) return;
            App.Application.SystemVariableChanged += AcApp_Texteditor;
        }

        private static void AcApp_Texteditor(object sender, App.SystemVariableChangedEventArgs e)
        {
            App.Document acDoc = App.Application.DocumentManager.MdiActiveDocument;
            Ed.Editor acEd = acDoc.Editor;
            if(e.Name == "TEXTEDITOR")
            {
                acEd.WriteMessage($"\n System Variable \"TEXTEDITOR\" Changed to : {App.Application.GetSystemVariable("TEXTEDITOR")} ");
            }
        }
    }
Boxa вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > Есть ли возможность отслеживать ввод пользователя в текстовом редакторе?

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Есть ли возможность вставить в вершины полилинии блоки? bimari AutoCAD 29 04.06.2021 14:49
Public WithEvents ACAD As AcadApplication есть ли возможность отвязаться от версии AutoCAD? doctorraz Программирование 8 24.08.2015 12:21
VBA Есть ли возможность графики в VBA на форме (PictureBox)? Alexey_02 Программирование 8 13.02.2013 14:08
Есть ли в кадовских системах возможность Egorusleft Другие CAD системы 15 22.08.2012 14:50
Векторная графика в текстовом редакторе domine AutoCAD 2 24.04.2007 18:35