Обсуждение статьи "Графические интерфейсы XI: Нарисованные элементы управления (build 14.2)" - страница 4

 
Facundo Laje:
Спасибо
 
zlory73:

Извините, изменено:

и:

все еще ничего...

Пожалуйста, помогите1


Здравствуйте,

Решил эти проблемы, используя функцию OpenWindow() вместо функции Show(), и теперь у меня активирована кнопка свертывания...

Теперь я хочу добавить некоторые элементы управления в окно2 и окно3, такие как кнопки и чекбоксы, но я получаю ошибку, как на следующей картинке:

Меня не сильно беспокоят ошибки чтения изображений... Только для доступа к указателю... ошибка из строки:

CWndContainer::AddToElementsArray(1,m_checkbox1);

Я думаю, что window_index должен быть 0 для main, 1 для window2, 2 для window3, правильно?

При использовании одной из предыдущих библиотек (article06) проблем с добавлением контролов в подокно не было.

Теперь код для добавления элементов управления:

//------------------CheckBox---------------
  bool CmyPanel_Test2::CreateCheckBox1(const int x_gap,const int y_gap,string text)
  {
//--- Сохраните указатель на главный элемент управления
   m_checkbox1.MainPointer(m_window2);
//--- Установите свойства перед созданием
   m_checkbox1.XSize(40);
   m_checkbox1.YSize(20);
   m_checkbox1.IsPressed(false);

//--- Создайте элемент управления
   if(!m_checkbox1.CreateCheckBox("box1",x_gap,y_gap))
      return(false);
//--- Добавьте объект в общий массив групп объектов
    CWndContainer::AddToElementsArray(1,m_checkbox1);
   return(true);
  }
//---------------Button---------- 
  bool CmyPanel_Test2::CreateIconButton1(const int x_gap,const int y_gap,const string text)
  {
//--- Сохраните указатель на главный элемент управления
   m_icon_button1.MainPointer(m_window2);
//--- Свойства
   m_icon_button1.XSize(115);
   m_icon_button1.YSize(22);
   m_icon_button1.IconXGap(3);
   m_icon_button1.IconYGap(3);
   m_icon_button1.TwoState(true);
   m_icon_button1.IconFile("Images\\EasyAndFastGUI\\Icons\\bmp16\\stop.bmp");
   m_icon_button1.IconFileLocked("Images\\EasyAndFastGUI\\Icons\\bmp16\\stop_gray.bmp");
   m_icon_button1.IconFilePressed("Images\\EasyAndFastGUI\\Icons\\bmp16\\start.bmp");
   m_icon_button1.IconFilePressedLocked("Images\\EasyAndFastGUI\\Icons\\bmp16\\start_gray.bmp");
//--- Создайте элемент управления
   if(!m_icon_button1.CreateButton(text,x_gap,y_gap))
      return(false);
//--- Добавьте указатель на элемент управления в базу
   CWndContainer::AddToElementsArray(1,m_icon_button1);
   return(true);
  }

Пожалуйста, кто-нибудь может помочь, спасибо...


PS:Надеюсь не надоедаю своими темами. Хорошего дня.

 
Добавьте аналитику 327836497, и доходность составит 74,5 процента.
 
Artur Zas:

Привет, набор элементов управления действительно хорош и полезен, но было бы еще лучше, если бы вы могли лучше обрабатывать более высокие настройки DPI.

Очевидно, что растровые изображения будут отображаться правильно, но текст - нет. ...


Я бы сказал, что текст масштабируется правильно, в отличие от всей остальной графики.

 
Ex Ovo Omnia:

Я бы сказал, что текст масштабируется правильно, в отличие от остальной графики.


Это зависит от того, как на это смотреть. Вы можете либо увеличить масштаб растровых изображений, чтобы они соответствовали размеру шрифта, либо уменьшить размер шрифта, чтобы он соответствовал размеру растровых изображений.

Масштабирование растровых изображений - это не совсем то, что вы хотите делать, потому что в отличие от векторной графики растровые изображения теряют качество при увеличении масштаба. Шрифт, с другой стороны, основан на векторной графике, поэтому может быть увеличен или уменьшен без потери качества.

Очевидно, что лучшим способом решения этой проблемы было бы использование векторной графики, но я не думаю, что платформа поддерживает ее (хотя я могу и ошибаться, так как не особо занимаюсь графикой в metatrader).

Лично я пропорционально уменьшаю шрифт, чтобы он соответствовал DPI.

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

 
Artur Zas:

Это зависит от того, как посмотреть на это. Вы можете либо увеличить масштаб растровых изображений, чтобы они соответствовали размеру шрифта, либо уменьшить размер шрифта, чтобы он соответствовал размеру растровых изображений.

Масштабирование растровых изображений - это не совсем то, что вы хотите делать, потому что в отличие от векторной графики растровые изображения теряют качество при увеличении масштаба. Шрифт, с другой стороны, основан на векторной графике, поэтому может быть увеличен или уменьшен без потери качества.

Очевидно, что лучшим способом решения этой проблемы было бы использование векторной графики, но я не думаю, что платформа поддерживает ее (хотя я могу и ошибаться, так как не особо занимаюсь графикой в metatrader).

Лично я пропорционально уменьшаю шрифт, чтобы он соответствовал DPI.

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


Я не противоречу трудностям масштабирования картинки, я просто могу заметить, что изменение размера шрифта соответствует масштабированию GUI приложения Metatrader. Поэтому если уменьшить размер шрифта, то на мониторе с высоким разрешением буквы могут стать совсем крошечными.

 
Ex Ovo Omnia:

Я не противоречу трудностям масштабирования картинки, я просто могу заметить, что изменение размера шрифта соответствует масштабированию графического интерфейса приложения Metatrader. Так что если уменьшить размер шрифта, то на hi-res мониторе буквы могут стать совсем крошечными.

Да, я согласен. Было бы лучше, чтобы графика соответствовала размеру шрифта, который действительно соответствует масштабированному графическому интерфейсу MT5. Я просто искал способ, чтобы это выглядело лучше, чтобы размер шрифта соответствовал остальной графике.

Думаю, это лучшее, что мы можем получить в смешанной среде растровой и векторной графики.

 

Здравствуйте, я рад видеть ваши разработки, я нашел проблему, пожалуйста, объясните мне, когда у вас есть время, Вопрос: Tree control, как добавить в тип вкладки, он не работает, когда я устанавливаю его в режим вкладки. Не получается добавить компонент на вкладку. Спасибо! С нетерпением жду вашего сообщения.

 

Почему 14-2 не отображается, если вы можете сделать это в версии 10?

 

Здравствуйте, в новой версии управления редактированием выходной части, клавиатура правой части цифровой клавиатуры неисправна, ввод цифр не отвечает, только в левой части цифрового ввода, пожалуйста, разберитесь с этим!