Обсуждение статьи "Графические интерфейсы VI: Элементы "Чекбокс", "Поле ввода" и их смешанные типы (Глава 1)" - страница 3

 
А есть возможность получить значение типа string из элемента CSpinEdit ? Или возможно для этого есть другой (элемент) класс ?
 
Evgenii Bakai:
А есть возможность получить значение типа string из элемента CSpinEdit ? Или возможно для этого есть другой (элемент) класс ?
Получайте значение с помощью метода GetValue() и преобразуйте его в тип string.
 
Anatoli Kazharski:
Получайте значение с помощью метода GetValue() и преобразуйте его в тип string.
Толь, что-то долго обновлений нету. Не из-за запрета кастинга структур и ввода юнионов?
 
Artyom Trishkin:
Толь, что-то долго обновлений нету. Не из-за запрета кастинга структур и ввода юнионов?

Не увидел, как бы это могло помешать дальнейшему развитию библиотеки. У меня это событие прошло незамеченным. 

Сейчас идёт большая работа по оптимизации кода. Общий объём сократится приблизительно на 30%. Общие свойства элементов будут вынесены в базовые классы. Файлов станет меньше, так как некоторые элементы будут объединены в один. Без потери функционала, так как можно будет выбирать режим. Будет существенно уменьшено количество графических объектов. Теперь будет только один тип объектов - bitmap label, так как все элементы будут рисоваться. Сложные составные элементы будут теперь собираться из готовых элементов, а не графических объектов-примитивов. 

В общем, много всего нужно пересобрать и протестировать прежде, чем представлять новую версию. Не могу сказать, когда будет следующая статья.

 
Anatoli Kazharski:

Не увидел, как бы это могло помешать дальнейшему развитию библиотеки. У меня это событие прошло незамеченным. 

Сейчас идёт большая работа по оптимизации кода. Общий объём сократится приблизительно на 30%. Общие свойства элементов будут вынесены в базовые классы. Файлов станет меньше, так как некоторые элементы будут объединены в один. Без потери функционала, так как можно будет выбирать режим. Будет существенно уменьшено количество графических объектов. Теперь будет только один тип объектов - bitmap label, так как все элементы будут рисоваться. Сложные составные элементы будут теперь собираться из готовых элементов, а не графических объектов-примитивов. 

В общем, много всего нужно пересобрать и протестировать прежде, чем представлять новую версию. Не могу сказать, когда будет следующая статья.

Ну..., главное, что идёт работа, и это здорово. А то подумалось, что может там проблемы с совместимостью всплыли.
 
Artyom Trishkin:
Ну..., главное, что идёт работа, и это здорово. А то подумалось, что может там проблемы с совместимостью всплыли.
Даже если бы и всплыли, ничего страшного. Всегда можно всё исправить.
 
Anatoli Kazharski:
Даже если бы и всплыли, ничего страшного. Всегда можно всё исправить.

Так то естественно, но забирает дополнительное время... Потому и подумалось.

Впрочем - рад, что всё движется, и всё хорошо.

Вопрос: Толь, подскажи, планируется ли в очередном обновлении добавить возможность менять цвет фона ячеек CCanvasTable ?

 
Artyom Trishkin:

...

Вопрос: Толь, подскажи, планируется ли в очередном обновлении добавить возможность менять цвет фона ячеек CCanvasTable ?

В следующем планируется только то, что анонсировалось. Всё остальное, что обсуждалось, в последующих обновлениях.

 
Anatoli Kazharski:

В следующем планируется только то, что анонсировалось. Всё остальное, что обсуждалось, в последующих обновлениях.

Хорошо. Спасибо.
 

У меня такая беда - я никогда не слежу за раскладкой клавиатуры :) (Авторереключалка есть) Часто в SpinEdit забиваю "," вместо "."

//+------------------------------------------------------------------+
//| Обработка ввода значения в поле ввода                            |
//+------------------------------------------------------------------+
bool CSpinEdit::OnEndEdit(const string edited_object)
  {
//--- Выйдем, если чужое имя объекта
   if(m_edit.Name()!=edited_object)
      return(false);
//--- Получим введённое значение
   string entered_text=m_edit.Description();
   StringReplace(entered_text,",",".");
   double entered_value=::StringToDouble(entered_text);
//--- Проверим, скорректируем и запомним новое значение
   ChangeValue(entered_value);
//--- Отправим сообщение об этом
   ::EventChartCustom(m_chart_id,ON_END_EDIT,CElement::Id(),CElement::Index(),m_label.Description());
   return(true);
  }
Немного добавил. Думаю, не помешает...