Событие переключения на вкладку старт (Начало)?

Автор Тема: Событие переключения на вкладку старт (Начало)?  (Прочитано 5663 раз)

0 Пользователей и 5 Гостей просматривают эту тему.

Оффлайн ВильдарАвтор темы

  • ADN Club
  • ****
  • Сообщений: 409
  • Карма: 77
  • Skype: vildar82
Добрый вечер всем!
Есть такое событие?
Вкладка "Начало" (в рус.версии).
Она появляется при STARTMODE=1.

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Она появляется при STARTMODE=1.
есть событие, оповещающее об изменении значения системной переменной (с указанием её глобального имени).

Оффлайн ВильдарАвтор темы

  • ADN Club
  • ****
  • Сообщений: 409
  • Карма: 77
  • Skype: vildar82
Переменная Startmode включает/отключает эту вкладку.
А мне нужно событие переключения на эту вкладку.
Типа как для документа - DocumentActivated.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13880
  • Карма: 1786
  • Рыцарь ObjectARX
  • Skype: rivilis
Есть такое событие?
Вкладка "Начало" (в рус.версии).
События я думаю такого нет. Во всяком случае в документированном API. Не проверял (и сейчас нет возможности), но думаю что после переключения на это окно Application.DocumentManager.MdiActiveDocument == null
Можно наверное проверять по таймеру. Вопрос зачем это нужно?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн ВильдарАвтор темы

  • ADN Club
  • ****
  • Сообщений: 409
  • Карма: 77
  • Skype: vildar82
Чтобы на палитре выключать контент документа.
Ок. Буду проверять состояние документа.
Думал что есть какое-то событие особое  :-\

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13880
  • Карма: 1786
  • Рыцарь ObjectARX
  • Skype: rivilis
Чтобы на палитре выключать контент документа.
Ок. Буду проверять состояние документа.
Думал что есть какое-то событие особое  :-\
Ну если тебе достаточно Русской/Английской версии, то как-то так:
Код - 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. }
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн ВильдарАвтор темы

  • ADN Club
  • ****
  • Сообщений: 409
  • Карма: 77
  • Skype: vildar82
Да, когда активна вкладка "Начало" - MdiActiveDocument==null.
Но, вариант, когда на палитре не будет лишнего в этот момент, мне больше нравиться.
Спасибо за вариант с событием, попробую его.

Оффлайн ВильдарАвтор темы

  • ADN Club
  • ****
  • Сообщений: 409
  • Карма: 77
  • Skype: vildar82
Ох, ввел в заблуждение.
При переходе на эту вкладку срабатывает Application.DocumentManager.DocumentActivated с e.Document = null.
Сорри :-[