Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: Вильдар от 20-10-2016, 18:08:29

Название: Событие переключения на вкладку старт (Начало)?
Отправлено: Вильдар от 20-10-2016, 18:08:29
Добрый вечер всем!
Есть такое событие?
Вкладка "Начало" (в рус.версии).
Она появляется при STARTMODE=1.
Название: Re: Событие переключения на вкладку старт (Начало)?
Отправлено: Андрей Бушман от 20-10-2016, 18:25:25
Она появляется при STARTMODE=1.
есть событие, оповещающее об изменении значения системной переменной (с указанием её глобального имени).
Название: Re: Событие переключения на вкладку старт (Начало)?
Отправлено: Вильдар от 20-10-2016, 19:10:41
Переменная Startmode включает/отключает эту вкладку.
А мне нужно событие переключения на эту вкладку.
Типа как для документа - DocumentActivated.
Название: Re: Событие переключения на вкладку старт (Начало)?
Отправлено: Александр Ривилис от 20-10-2016, 21:06:14
Есть такое событие?
Вкладка "Начало" (в рус.версии).
События я думаю такого нет. Во всяком случае в документированном API. Не проверял (и сейчас нет возможности), но думаю что после переключения на это окно Application.DocumentManager.MdiActiveDocument == null
Можно наверное проверять по таймеру. Вопрос зачем это нужно?
Название: Re: Событие переключения на вкладку старт (Начало)?
Отправлено: Вильдар от 20-10-2016, 21:37:47
Чтобы на палитре выключать контент документа.
Ок. Буду проверять состояние документа.
Думал что есть какое-то событие особое  :-\
Название: Re: Событие переключения на вкладку старт (Начало)?
Отправлено: Александр Ривилис от 20-10-2016, 23:40:26
Чтобы на палитре выключать контент документа.
Ок. Буду проверять состояние документа.
Думал что есть какое-то событие особое  :-\
Ну если тебе достаточно Русской/Английской версии, то как-то так:
Код - C# [Выбрать]
  1. using System;
  2. using System.Diagnostics;
  3. using Autodesk.AutoCAD.Runtime;
  4. using Autodesk.AutoCAD.ApplicationServices;
  5. using Autodesk.AutoCAD.DatabaseServices;
  6. using Autodesk.AutoCAD.Geometry;
  7. using Autodesk.AutoCAD.EditorInput;
  8.  
  9. [assembly: CommandClass(typeof(TestStartScreen.MyCommands))]
  10.  
  11. namespace TestStartScreen
  12. {
  13.   public class MyCommands
  14.   {
  15.     [CommandMethod("SetDocReactor")]
  16.     public void SetDocReactor()
  17.     {
  18.       DocumentWindowCollection docs = Application.DocumentWindowCollection;
  19.       docs.DocumentWindowActivated += docs_DocumentWindowActivated;
  20.     }
  21.  
  22.     void docs_DocumentWindowActivated(object sender, DocumentWindowActivatedEventArgs e)
  23.     {
  24.       if ((e.DocumentWindow.Title.ToUpper().CompareTo("START") == 0 ||
  25.            e.DocumentWindow.Title.ToUpper().CompareTo("НАЧАЛО") == 0)
  26.            && e.DocumentWindow.Document == null)
  27.       {
  28.         Debug.WriteLine("Это окно Start/Начало");
  29.       }
  30.     }
  31.   }
  32. }
Название: Re: Событие переключения на вкладку старт (Начало)?
Отправлено: Вильдар от 21-10-2016, 08:59:28
Да, когда активна вкладка "Начало" - MdiActiveDocument==null.
Но, вариант, когда на палитре не будет лишнего в этот момент, мне больше нравиться.
Спасибо за вариант с событием, попробую его.
Название: Re: Событие переключения на вкладку старт (Начало)?
Отправлено: Вильдар от 21-10-2016, 09:33:02
Ох, ввел в заблуждение.
При переходе на эту вкладку срабатывает Application.DocumentManager.DocumentActivated с e.Document = null.
Сорри :-[