Обсуждение статьи "DoEasy. Элементы управления (Часть 15): WinForms-объект TabControl — несколько рядов заголовков вкладок, методы работы с вкладками"

 

Опубликована статья DoEasy. Элементы управления (Часть 15): WinForms-объект TabControl — несколько рядов заголовков вкладок, методы работы с вкладками:

В статье продолжим работу над WinForm-объектом TabControl — создадим класс объекта-поля вкладки, сделаем возможность расположения заголовков вкладок в несколько рядов и добавим методы для работы с вкладками объекта.

Скомпилируем советник и запустим его на графике:


Ну что ж.. Время создания объектов достаточно продолжительное. Скоро нужно будет менять логику отображения объектов во время их массового создания. Этим мы вскоре займёмся. При выборе фиксированного размера заголовков вкладок и размера, подстраиваемого под ширину шрифта видно, что размеры вкладок отличаются. Выбор нужной вкладки и перестроение рядов вкладок работают верно. Объекты на вкладках доступны для взаимодействия с мышкой. Пока всё верно, а значит — можно продолжать развивать функционал элемента управления.

Автор: Artyom Trishkin

 

Hi @Artyom Trishkin

thanks for your amazing libraries,

I found a little bug or missing parameters about market event logs, you can see the STATUS UNKNOWN appears for orders or positions modification,

you can see the yellow highlighted lines in picture



I think you forgot to put this line to CEvent::StatusDescription


string CEvent::StatusDescription(void) const
  {
   ENUM_EVENT_STATUS status=(ENUM_EVENT_STATUS)this.GetProperty(EVENT_PROP_STATUS_EVENT);
   return
     (
      status==EVENT_STATUS_MARKET_PENDING    ?  CMessage::Text(MSG_EVN_STATUS_MARKET_PENDING)   :
      status==EVENT_STATUS_MARKET_POSITION   ?  CMessage::Text(MSG_EVN_STATUS_MARKET_POSITION)  :
      status==EVENT_STATUS_HISTORY_PENDING   ?  CMessage::Text(MSG_EVN_STATUS_HISTORY_PENDING)  :
      status==EVENT_STATUS_HISTORY_POSITION  ?  CMessage::Text(MSG_EVN_STATUS_HISTORY_POSITION) :
      status==EVENT_STATUS_MODIFY            ?  CMessage::Text(MSG_EVN_REASON_MODIFY)           :
      status==EVENT_STATUS_BALANCE           ?  CMessage::Text(MSG_LIB_PROP_BALANCE)            :
      CMessage::Text(MSG_EVN_STATUS_UNKNOWN)
     );
  }
 
Koros Jafarzadeh #:

Hi @Artyom Trishkin

thanks for your amazing libraries,

I found a little bug or missing parameters about market event logs, you can see the STATUS UNKNOWN appears for orders or positions modification,

you can see the yellow highlighted lines in picture



I think you forgot to put this line to CEvent::StatusDescription


Thank you. I'll take a look in a week - I'm on vacation.