Если нужно срочно, то можете сами добавить следующие изменения:
1. В файл Defines.mqh добавьте новый идентификатор:
#define ON_CLICK_TAB (26) // Переключение вкладки
//---
2. В классы CTabs и CIconTabs (файлы Tabs.mqh и IconTabs.mqh) в метод ShowTabElements() нужно добавить строчку, как показано в листинге ниже:
//+------------------------------------------------------------------+//| Показывает элементы только выделенной вкладки |//+------------------------------------------------------------------+void CTabs::ShowTabElements(void)
{
//--- Выйти, если вкладки скрытыif(!CElement::IsVisible())
return;
//--- Проверка индекса выделенной вкладки
CheckTabIndex();
//---for(int i=0; i<m_tabs_total; i++)
{
//--- Получим количество элементов присоединённых к вкладкеint tab_elements_total=::ArraySize(m_tab[i].elements);
//--- Если выделена эта вкладкаif(i==m_selected_tab)
{
//--- Показать элементы вкладкиfor(int j=0; j<tab_elements_total; j++)
m_tab[i].elements[j].Show();
}
//--- Скрыть элементы неактивных вкладокelse
{
for(int j=0; j<tab_elements_total; j++)
m_tab[i].elements[j].Hide();
}
}
//--- Отправить сообщение об этом
::EventChartCustom(m_chart_id,ON_CLICK_TAB,CElement::Id(),m_selected_tab,"");
}
//---
3. Теперь событие с идентификатором ON_CLICK_TAB можно принимать в обработчике пользовательского класса.
Благодарю, работает. Нашёл ещё одну ошибку - запускаем индюк, отодвигаем панель и начинаем жать радиокнопки. Когда отрисовывается таблица, вначале она начинает рисоваться с левого края, а потом как бы подтягивается к нужным координатам.
Alexey Oreshkin: Благодарю, работает. Нашёл ещё одну ошибку - запускаем индюк, отодвигаем панель и начинаем жать радиокнопки. Когда отрисовывается таблица, вначале она начинает рисоваться с левого края, а потом как бы подтягивается к нужным координатам.
Да, есть такое. На примере таблиц этого типа, добавьте в метод CCanvasTable::Show() в файле CanvasTable.mqh строку, как показано ниже:
//+------------------------------------------------------------------+//| Показывает элемент |//+------------------------------------------------------------------+void CCanvasTable::Show(void)
{
//--- Выйти, если элемент уже видимif(CElement::IsVisible())
return;
//--- Сделать видимыми все объекты
m_area.Timeframes(OBJ_ALL_PERIODS);
m_canvas.Timeframes(OBJ_ALL_PERIODS);
m_scrollv.Show();
m_scrollh.Show();
//--- Состояние видимости
CElement::IsVisible(true);
//--- Перемещение элемента
Moving(m_wnd.X(),m_wnd.Y());
}
//---
Если такая проблема будет с другими элементами добавляйте в их метод Show() такую же строчку. В следующем обновлении во всех классах элементов будет это исправление.
Привет, я слежу за вашей работой, и я очень благодарен.
Вы уже разработали или видели что-нибудь, что может работать с таблицами или фокусом на элементах управления в форме.
Мне нужно изменить издания после того, как я вставляю один ввод в один CEdit или CSpinEdit и нажимаю Enter или TAB, я хочу перейти к следующему Edit, для лучшего удобства в моей программе.
Можете ли вы мне помочь или подсказать, где искать?
Большое спасибо за ваш вклад в развитие сообщества.
Вы уже разработали или видели что-нибудь, что может работать с таблицами или фокусом на элементах управления в форме.
Мне нужно изменить издания после того, как я вставляю один ввод в один CEdit или CSpinEdit и нажимаю Enter или TAB, я хочу перейти к следующему Edit, для лучшего удобства использования в моей программе.
На данный момент это невозможно. Я подумаю, как это реализовать.
Anatoli Kazharski: На данный момент это невозможно. Я подумаю, как это реализовать.
Анатолий Кажарский, я думаю над этим. Есть ли способ активировать режим редактирования кодом, например, когда они не ReadOnly и мы делаем двойной клик на CEdit и они становятся синими и выделенными. Или, есть ли способ, чтобы я мог запросить ввод сплешем, окном сообщения или любым окном, автоматически запрашиваемым при выполнении кода.
Я думаю о некоторых возможностях, и я действительно не хочу использовать DLL, я еще не настолько профессионал. Но у меня есть желание. Если у вас есть для меня некоторые направления или идеи, я могу действительно улучшить наш код.
А когда ждать обновление ?
Если нужно срочно, то можете сами добавить следующие изменения:
1. В файл Defines.mqh добавьте новый идентификатор:
//---
2. В классы CTabs и CIconTabs (файлы Tabs.mqh и IconTabs.mqh) в метод ShowTabElements() нужно добавить строчку, как показано в листинге ниже:
//---
3. Теперь событие с идентификатором ON_CLICK_TAB можно принимать в обработчике пользовательского класса.
Пример:
Нашёл ещё одну ошибку - запускаем индюк, отодвигаем панель и начинаем жать радиокнопки. Когда отрисовывается таблица, вначале она начинает рисоваться с левого края, а потом как бы подтягивается к нужным координатам.
Благодарю, работает.
Нашёл ещё одну ошибку - запускаем индюк, отодвигаем панель и начинаем жать радиокнопки. Когда отрисовывается таблица, вначале она начинает рисоваться с левого края, а потом как бы подтягивается к нужным координатам.
Да, есть такое. На примере таблиц этого типа, добавьте в метод CCanvasTable::Show() в файле CanvasTable.mqh строку, как показано ниже:
//---
Если такая проблема будет с другими элементами добавляйте в их метод Show() такую же строчку. В следующем обновлении во всех классах элементов будет это исправление.
Вы уже разработали или видели что-нибудь, что может работать с таблицами или фокусом на элементах управления в форме.
Мне нужно изменить издания после того, как я вставляю один ввод в один CEdit или CSpinEdit и нажимаю Enter или TAB, я хочу перейти к следующему Edit, для лучшего удобства в моей программе.
Большое спасибо за ваш вклад в развитие сообщества.
Вы уже разработали или видели что-нибудь, что может работать с таблицами или фокусом на элементах управления в форме.
Мне нужно изменить издания после того, как я вставляю один ввод в один CEdit или CSpinEdit и нажимаю Enter или TAB, я хочу перейти к следующему Edit, для лучшего удобства использования в моей программе.
На данный момент это невозможно. Я подумаю, как это реализовать.
Или, есть ли способ, чтобы я мог запросить ввод сплешем, окном сообщения или любым окном, автоматически запрашиваемым при выполнении кода.
Я думаю о некоторых возможностях, и я действительно не хочу использовать DLL, я еще не настолько профессионал. Но у меня есть желание. Если у вас есть для меня некоторые направления или идеи, я могу действительно улучшить наш код.
Уважаемый Анатолий, большое спасибо за ваши усилия!
Хочу обратить Ваше внимание на то, что в строке 237 файла MenuItem.mqh есть опечатка, из-за которой он не может быть успешно скомпилирован:
" > The type of the menu item can be set using the CMenuItem::TypeMenuItem()") method");вместо этого следует читать
" > The type of the menu item can be set using the CMenuItem::TypeMenuItem() method");правильно?
Edit постоянно мерцает.
https://www.mql5.com/en/forum/274301