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

12/03/2015

Установка направления пристыковки палитры по-умолчанию

Я получил запрос от партнера ADN о возможности установить направление пристыковки палитры по-умолчанию при первом запуске и при этом чтобы пользователь мог в дальнейшем пристыковывать палитру в любом направлении: Вниз, Влево, Вверх, Вправо.

Следующий код показывает, как это можно сделать:

Код - C#: [Выделить]
  1. public static PaletteSet ps = null;
  2. [CommandMethod("MyPalette")]
  3. public void MyPalette()
  4. {
  5.   if (ps == null) {
  6.     ps = new PaletteSet("My Palette 1",
  7.     new Guid("229E43DB-E76F-48F9-849A-CC8D726DF257"));
  8.     ps.SetLocation(new System.Drawing.Point(312, 763));
  9.     ps.SetSize(new System.Drawing.Size(909, 40));
  10.     /* Для начала разрешаем пристыковку снизу */
  11.     ps.DockEnabled = DockSides.Bottom;
  12.   }
  13.   ps.Visible = true;
  14.   /* Добавляем обработчик */
  15.   ps.PaletteSetMoved += ps_PaletteSetMoved;
  16. }
  17.  
  18. void ps_PaletteSetMoved(object sender, PaletteSetMoveEventArgs e)
  19. {
  20.   PaletteSet pt = sender as PaletteSet;
  21.   /* Убираем обработчик */
  22.   pt.PaletteSetMoved -= ps_PaletteSetMoved;
  23.   pt.DockEnabled = DockSides.Bottom | DockSides.Left | DockSides.Top | DockSides.Right;
  24. }


Источник: http://adndevblog.typepad.com/autocad/2015/02/default-dock-location-for-palette-sets.html

Обсуждение: http://adn-cis.org/forum/index.php?topic=1922

Опубликовано 12.03.2015
Отредактировано 12.03.2015 в 18:29:45