tool palette - редактирование View Option

Автор Тема: tool palette - редактирование View Option  (Прочитано 3357 раз)

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

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

Оффлайн Алексей КузинАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 116
  • Карма: 8
Собственно тема содержит весь вопрос, ну да ладно, продолжим   :D
Как кодом изменить View Option в tool palette?
Желательно .NET, но буду рад подсказкам и в сторону ObjectARX.
Спасибо.

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: tool palette - редактирование View Option
« Ответ #1 : 15-11-2018, 22:41:01 »
Если ты об этом, то нет никакого публичного API для его изменения: Был не прав. В ObjectARX есть такая возможность. Подготовлю пример и выложу. Тему соответственно перенесу в раздел ObjectARX.



На всякий случай - значения хранятся в файле Profile.aws. Это xml-файл, так что с ним можно поработать и из .NET. Только вот значения из него налету подхватываться не будут.

« Последнее редактирование: 15-11-2018, 23:33:39 от Александр Ривилис »
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Алексей КузинАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 116
  • Карма: 8
Re: tool palette - редактирование View Option
« Ответ #2 : 16-11-2018, 02:26:02 »
Да, именно это.  Про файл я знаю, тоже налету ничего не получилось. Буду благодарен за пример. Большое спасибо.

Отмечено как Решение Алексей Кузин 20-11-2018, 12:34:42

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: tool palette - редактирование View Option
« Ответ #3 : 16-11-2018, 19:51:17 »
Код - C++ [Выбрать]
  1. static void RivilisSetToolsViewOptions(void)
  2. {
  3.   CAcTcUiManager *pTcMng = AcTcUiGetManager();
  4.   CAcTcUiToolPaletteSet *pTcPalSet = AcTcUiGetToolPaletteWindow();
  5.   CAcTcUiToolPaletteGroup *pTcPalGrp = pTcPalSet->GetActivePaletteGroup();
  6.   acutPrintf(_T("\nActivePaletteGroup=%s"), LPCTSTR(pTcPalGrp->GetName()));
  7.   int iActivePal = pTcPalGrp->GetActivePalette();
  8.   if (pTcPalGrp->IsItemPalette(iActivePal))
  9.   {
  10.     CAcTcUiToolPalette *pTcPal = NULL;
  11.     if (pTcPalGrp->GetItem(pTcPalGrp->GetActivePalette(), pTcPal) && pTcPal)
  12.     {
  13.       acutPrintf(_T("\nActivePalette=%s %d"), LPCTSTR(pTcPal->GetName()), pTcPalGrp->GetActivePalette());
  14.       pTcPalGrp->SetActivePalette(pTcPalGrp->GetActivePalette());
  15.       CAcTcUiPaletteView *pTcView = pTcPal->GetView();
  16.       // Допустимые размеры иконок
  17.       const SIZE sizeArray[] =
  18.       {
  19.         {16, 16}, {24, 24}, {32, 32}, {40, 40},
  20.         {48, 48}, {56, 56}, {64, 64}
  21.       };
  22.       // Меняем размер иконок на следующий
  23.       SIZE curSize;  pTcView->GetImageSize(&curSize);
  24.       int iSize = 0;
  25.       for (iSize = 0; iSize < count(sizeArray); iSize++)
  26.       {
  27.         if (curSize.cx <= sizeArray[iSize].cx && curSize.cy <= sizeArray[iSize].cy)
  28.         {
  29.           iSize = (iSize + 1) % count(sizeArray);
  30.           break;
  31.         }
  32.       }
  33.       pTcView->SetImageSize(sizeArray[iSize]);
  34.       DWORD dwStyle = pTcView->GetCatalogViewStyle();
  35.       dwStyle ^= ACTCUI_CVSTYLE_LISTVIEW; // Устанавливаем или снимаем флаг ListView
  36.       // dwStyle ^= ACTCUI_CVSTYLE_SHOWTEXT; // Устанавливаем или снимаем флаг текста
  37.       pTcView->SetCatalogViewStyle(dwStyle);
  38.       pTcView->Update(); // Обновляем вид палитры
  39.     }
  40.   }
  41. }
  42.  

Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Алексей КузинАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 116
  • Карма: 8
Re: tool palette - редактирование View Option
« Ответ #4 : 20-11-2018, 12:35:57 »
Спасибо