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

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

Как сделать подсвечивание курсора?

Ответ
Поиск в этой теме
Непрочитано 31.10.2020, 01:26 #1
Как сделать подсвечивание курсора?
dimandgy
 
Москва
Регистрация: 03.03.2009
Сообщений: 25

Добрый вечер. Всю голову уже сломал не могу в автокаде 2016 найти функцию подсвечивания курсора.... На многих видео в интернете увидел такую фишку, что за курсором находится желтое пятно, которое вечно следует за курсором , тем самым помогает визуально отслеживать курсор )его нахождение на экране). Помогите пожалуйста найти и реализовать данную функцию , очень понравилось как это выглядит ! Заранее спасибо .
Просмотров: 1714
 
Непрочитано 31.10.2020, 02:05
#2
Admin
Administrator


 
Регистрация: 21.08.2003
Сообщений: 4,463


Автокад здесь не при чем.
Желтый круг рисует программа видеозахвата с экрана, чтобы было видно курсор и клики.
Admin вне форума  
 
Непрочитано 31.10.2020, 02:11
#3
Сергей812


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


Есть еще программы типа PointerFocus, но она не free.
Сергей812 вне форума  
 
Автор темы   Непрочитано 31.10.2020, 02:44
#4
dimandgy


 
Регистрация: 03.03.2009
Москва
Сообщений: 25


Цитата:
Сообщение от Admin Посмотреть сообщение
Автокад здесь не при чем.
Желтый круг рисует программа видеозахвата с экрана, чтобы было видно курсор и клики.
Эх, спасибо большое . 2 часа убил на поиски .....(((
dimandgy вне форума  
 
Непрочитано 31.10.2020, 11:39
#5
Сергей812


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


Но ничто не мешает написать надстройку, и таскать этот кружок по экрану)


Код:
[Выделить все]
 
// Windows
using System;
using System.Runtime.InteropServices;
using System.Windows;
using System.Windows.Media;
using System.Windows.Shapes;
using wf = System.Windows.Forms;

// Autocad
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;
using aps = Autodesk.AutoCAD.ApplicationServices;


namespace CircleOnCursor
{
    public class Commands
    {
        [DllImport("user32.dll")]
        static extern IntPtr SetFocus(IntPtr hWnd);


        /// <summary>
        /// Размер круга
        /// </summary>
        private const int SizeCircle = 20;
        

        /// <summary>
        /// Ссылко на окно с кругом
        /// </summary>
        private static Window _Win = null;


        /// <summary>
        /// Создание окна с кругом
        /// </summary>
        private static void CreateCircleMarker()
        {
            _Win = new Window();
            // Без рамки
            _Win.WindowStyle = WindowStyle.None;
            // Стартовое положение окна
            _Win.WindowStartupLocation = WindowStartupLocation.CenterOwner;
            // Подстройка размера окна под содержимое
            _Win.SizeToContent = SizeToContent.WidthAndHeight;
            // Нет возможности изменения размера окна
            _Win.ResizeMode = ResizeMode.NoResize;
            // Прозрачность клиентской области окна
            _Win.AllowsTransparency = true;
            // Прозрачный фон окна
            _Win.Background = Brushes.Transparent;
            // Создаем окружность
            Ellipse lEllipse = new Ellipse();
            // Задаем ее размеры
            lEllipse.Width = SizeCircle;
            lEllipse.Height = SizeCircle;
            // Позиционирование
            lEllipse.VerticalAlignment = VerticalAlignment.Center;
            lEllipse.HorizontalAlignment = HorizontalAlignment.Center;
            // Цвет круга
            lEllipse.Fill = Brushes.Yellow;
            lEllipse.Stroke = Brushes.Yellow;
            lEllipse.StrokeThickness = 1;
            // Задаем прозрачность
            lEllipse.Opacity = 0.4;
            // И заносим в контейнер окна
            _Win.Content = lEllipse;
        }


        /// <summary>
        /// Обработчик мониторинга положения мыши редактора
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e">Дополнительные аргументы</param>
        private void AcadEd_PointMonitor(object sender, PointMonitorEventArgs e)
        {
            _Win.Left = wf.Cursor.Position.X - SizeCircle / 2;
            _Win.Top = wf.Cursor.Position.Y - SizeCircle / 2;
        }


        /// <summary>
        /// Включение круга под курсором
        /// </summary>
        [CommandMethod("CircleCursorOn")]
        public void CircleCursorOn()
        {
            // Если окно с кругом еще не было создано - делаем это
            if (_Win == null) CreateCircleMarker();
            // И отображаем окно немодально
            aps.Application.ShowModelessWindow(_Win);
            // Получаем ссылку на редактор текущего документа
            Editor lAcadEd = aps.Application.DocumentManager.MdiActiveDocument.Editor;
            // Подписываемся на событие мониторинга положения мыши редактора
            lAcadEd.PointMonitor += new PointMonitorEventHandler(AcadEd_PointMonitor);
            // Возвращаем фокус приложению акада
            SetFocus(aps.Application.MainWindow.Handle);
        }


        /// <summary>
        /// Выключение круга под курсором
        /// </summary>
        [CommandMethod("CircleCursorOff")]
        public void CircleCursorOff()
        {
            // Скрываем окно
            if (_Win != null) _Win.Hide();
            // Получаем ссылку на редактор текущего документа
            Editor lAcadEd = aps.Application.DocumentManager.MdiActiveDocument.Editor;
            // Отписываемся от события мониторинга положения мыши редактора
            lAcadEd.PointMonitor -= new PointMonitorEventHandler(AcadEd_PointMonitor);
        }

    }
}

Последний раз редактировалось Сергей812, 31.10.2020 в 11:46.
Сергей812 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как сделать подсвечивание курсора?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AutoCAD 2012ru поведение курсора (Snap On/вкл. шаг) - движение курсора "скачками" без выполнения команды Alexey_02 AutoCAD 18 09.07.2015 18:19
Как правильно сделать чердачное перекрытие и кровлю? mixxa Конструкции зданий и сооружений 5 16.12.2011 10:33
AutoCAD: как изменить форму и/или толщину курсора vau AutoCAD 13 20.10.2011 18:16
Проектирование участка водопровода кольцевой сети -200м, запросили сделать расчет всей кольцевой сети, как это сделать? kess35 Водоснабжение и водоотведение 16 07.10.2011 22:34
Как сделать одной из граней SOLID поверхность Polygon mesh kukuikar AutoCAD 1 16.05.2007 07:58