Создание и наполнение Palette

Автор Тема: Создание и наполнение Palette  (Прочитано 13541 раз)

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

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн JustMeАвтор темы

  • ADN OPEN
  • Сообщений: 14
  • Карма: -1
Добрый день, подскажите пожалуйста принцип (желательно пример) как собственно создать Palette. и как добавлять в него различные элементы кнопки, текстовые поля и т.д.

Пробовал создать так, но выдает ошибку:

Код - C# [Выбрать]
  1. static Autodesk.AutoCAD.Windows.PaletteSet _ps = null;
  2.  
  3.         [CommandMethod("PSSet")]
  4.         public static void CreatePaletteSet()
  5.         {
  6.             if (_ps == null)
  7.             {
  8.                 _ps = new Autodesk.AutoCAD.Windows.PaletteSet("PaletteSet");
  9.                 _ps.Style =
  10.                   Autodesk.AutoCAD.Windows.PaletteSetStyles.NameEditable |
  11.                   Autodesk.AutoCAD.Windows.PaletteSetStyles.ShowPropertiesMenu |
  12.                   Autodesk.AutoCAD.Windows.PaletteSetStyles.ShowAutoHideButton |
  13.                   Autodesk.AutoCAD.Windows.PaletteSetStyles.ShowCloseButton;
  14.  
  15.                 _ps.MinimumSize = new System.Drawing.Size(300, 300);
  16.             }
  17.  
  18.             _ps.Visible = true;
  19.         }

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

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78

Оффлайн JustMeАвтор темы

  • ADN OPEN
  • Сообщений: 14
  • Карма: -1
Re: Создание и наполнение Palette
« Ответ #2 : 02-09-2015, 15:32:10 »
 :)

В том то и дело, что обратился сюда, потому что перелопатил уже достаточно большое количество источников и о том как закрывать palette http://through-the-interface.typepad.com/through_the_interface/2011/12/finding-out-when-a-custom-paletteset-is-closed-in-autocad-using-net.html, а не сворачивать и о переопределении его свойств http://adn-cis.org/forum/index.php?topic=364.0 и вроде все понятно, а вот на самом элементарном на его создании и завис! В приведенном коде пытался сделать что излагалось в описанных статьях, но ничего не получилось, вот и решил просить Вашей помощи.

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

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: Создание и наполнение Palette
« Ответ #3 : 02-09-2015, 15:38:53 »
Ты открывал ссылку, которую я тебе дал? Смотрел первую же ссылку в показанном результате поиска? Пробовал делать то, что там подробно расписано? Пока что я вижу, что ты ничего не читаешь и твой "код" тому наглядное подтверждение.

Оффлайн JustMeАвтор темы

  • ADN OPEN
  • Сообщений: 14
  • Карма: -1
Re: Создание и наполнение Palette
« Ответ #4 : 02-09-2015, 15:42:17 »
Да открывал и пытался, но я не знаю VB, поэтому и не смог на C# перевести это

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

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: Создание и наполнение Palette
« Ответ #5 : 02-09-2015, 15:44:40 »
Да открывал и пытался, но я не знаю VB, поэтому и не смог на C# перевести это
выше ты ссылался на мою тему на форуме. В первом же сообщении той темы на C# присутствует код, создающий palette и добавляющий на неё пользовательский элемент. Если бы ты читал (как ты утверждаешь), то увидел бы это...

Оффлайн JustMeАвтор темы

  • ADN OPEN
  • Сообщений: 14
  • Карма: -1
Re: Создание и наполнение Palette
« Ответ #6 : 02-09-2015, 15:51:04 »
Честно говоря опираясь на него я и пробовал создать) Убрав оттуда переопределение свойств и не знакомые для меня вещи:
Код - C# [Выбрать]
  1. ElementHost host = new ElementHost();
  2.         host.AutoSize = true;
  3.         host.Dock = DockStyle.Fill;
  4.         // Host my WPF control
  5.         SheetSetViewer control = new SheetSetViewer();
  6.  
  7.         // Save the link to the custom control
  8.         control.tree.Tag = control;
  9.         control.props.Tag = control;
  10.  
  11.         host.Child = control;

получилось так, что не получилось! а в чем ошибка понять не могу

Код - C# [Выбрать]
  1. static Autodesk.AutoCAD.Windows.PaletteSet _ps = null;
  2.  
  3.         [CommandMethod("PSSet")]
  4.         public static void CreatePaletteSet()
  5.         {
  6.             if (_ps == null)
  7.             {
  8.                 _ps = new Autodesk.AutoCAD.Windows.PaletteSet("PaletteSet");
  9.                 _ps.Style =
  10.                   Autodesk.AutoCAD.Windows.PaletteSetStyles.NameEditable |
  11.                   Autodesk.AutoCAD.Windows.PaletteSetStyles.ShowPropertiesMenu |
  12.                   Autodesk.AutoCAD.Windows.PaletteSetStyles.ShowAutoHideButton |
  13.                   Autodesk.AutoCAD.Windows.PaletteSetStyles.ShowCloseButton;
  14.  
  15.                 _ps.MinimumSize = new System.Drawing.Size(300, 300);
  16.             }
  17.  
  18.             _ps.Visible = true;
  19.         }
« Последнее редактирование: 02-09-2015, 15:52:00 от Александр Ривилис »

Отмечено как Решение JustMe 02-09-2015, 16:18:13

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

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Создание и наполнение Palette
« Ответ #7 : 02-09-2015, 15:51:12 »
Более того в этой теме есть готовый проект на C#: http://adn-cis.org/forum/index.php?action=dlattach;topic=364.0;attach=88
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: Создание и наполнение Palette
« Ответ #8 : 02-09-2015, 15:55:32 »
Убрав оттуда переопределение свойств и не знакомые для меня вещи:
А может не стоило удалять "незнакомые вещи"? Ты не задумывался о том, что они там не просто так? Тем более, что в коде имя переменной host должно наводить на некоторые мысли... Не нужно делать бездумных телодвижений. Вырезать аппендицит на угад, определяя его положение на основе созвучия этого слова - не самый надёжный способ достичь желаемого результата.

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

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Создание и наполнение Palette
« Ответ #9 : 02-09-2015, 15:55:46 »
JustMe
Прочитай пожалуйста как форматировать код на форуме у меня в подписи.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн JustMeАвтор темы

  • ADN OPEN
  • Сообщений: 14
  • Карма: -1
Re: Создание и наполнение Palette
« Ответ #10 : 02-09-2015, 15:57:48 »
Ну спасибо! Прям забросали комплиментами неопытного начинающего программиста вместо того чтоб разъяснить и подсказать, то что мне было незнакомо.

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

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Создание и наполнение Palette
« Ответ #11 : 02-09-2015, 16:01:45 »
Ну спасибо! Прям забросали комплиментами неопытного начинающего программиста вместо того чтоб разъяснить и подсказать, то что мне было незнакомо.
Тебе же дали готовый проект. Открывай, смотри, меняй по своему усмотрению.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: Создание и наполнение Palette
« Ответ #12 : 02-09-2015, 16:03:35 »
Прежде чем задавать вопрос, не ленись читать тот материал по теме, который уже имеется в свободном доступе. Если возникают конкретные вопросы по изложенному в тексте контенту - пробуй искать ответ на них в Интернете. Если не удастся найти, либо объяснение окажется непонятным - тогда спрашивай на форуме, не забывая указывать, какие шаги ты САМ предпринял для того, чтобы найти ответ. Не трать понапрасну чужое время.

На данный момент содержимое этой темы чётко показывает, что тебе лень ознакомиться даже с тем уже готовым материалом, ссылка на который у тебя есть. Такого рода темы засоряют форум т.к. являются бесполезным хламом. Не стоит создавать темы по вопросам, ответы на которые легко находятся в Google.

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

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Создание и наполнение Palette
« Ответ #13 : 02-09-2015, 16:06:54 »
Прежде чем задавать вопрос, не ленись читать тот материал по теме, который уже имеется в свободном доступе. Если возникают конкретные вопросы по изложенному в тексте контенту - пробуй искать ответ на них в Интернете. Если не удастся найти, либо объяснение окажется непонятным - тогда спрашивай на форуме, не забывая указывать, какие шаги ты САМ предпринял для того, чтобы найти ответ. Не трать понапрасну чужое время.
С этим согласен на 100%.
Такого рода темы засоряют форум т.к. являются бесполезным хламом. Не стоит создавать темы по вопросам, ответы на которые легко находятся в Google.
А это оставь на усмотрение администрации форума!
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: Создание и наполнение Palette
« Ответ #14 : 02-09-2015, 16:10:03 »
А это оставь на усмотрение администрации форума!
Оставляю. Когда я вижу форум, "богатый" такого рода "полезными" темами, то обычно прохожу мимо (не регистрируюсь и не посещаю). Или ухожу с него, как с двг.ру. И так поступаю не только я. Хотя... Если вам важно количество, а не качество, тогда не вопрос - пусть пишет дальше.