Активный график (ID активного графика) - страница 2

 
Эти св-ва вскольз просматривал, но попробую поковырятся основательней, спасибо!
 

я решал эту проблему месяц назад.

Без АПИ ни как.

Только получал не ID, а хендл активного чарта. 

Поищите на 5-ке, я ответ выкладывал (там злой барабашка тему переносил)

 
1504
ALXIMIKS 2014.09.30 22:45   RU

Связался с гуру (Zh)

гуру натолкнул на хорошую мысль, там объяснил, там рассказал и в целом очень помог.

В результате старания и просто логики мне удалось написать последовательность функций для получения родительского хендла текущего активного окна чарта.

Пусть не вводит в заблуждение простота (хотя да, сейчас уже все кажется простым):

 int hchart = int(ChartGetInteger(chart_id, CHART_WINDOW_HANDLE));
 int hhchart = GetAncestor(hchart, 1);
 int hhhchart = GetAncestor(hhchart, 1);
 int hwnd = GetTopWindow(hhhchart); 
 

У меня была задача:
1. Взять родительский хендл текущего активного чарта
2. Открыть новый чарт (он автоматически становится активным)
3. Вернуться на прошлий активный  чарт до создания нового (для этого надо родительский хендл)
4. Запустить на новом открытом чарте скрипт, или что там мне надо было

У вас какая задача?

 

А, вишь как, спасибо! Ещё не пользовался АПИ, надо будет поискать перечень ф-й user32.dll и как правильно этим всем пользоваться.

ALXIMIKS  подскажи, а куда мне потом этот хендл влепить, все ж ф-и к ID привязываются?

п.с. вот ещё темку старенькую нашёл, и то случайно, бо с этим поиском у меня ничего не выходит )). Там тоже вроде как через АПИ.

 
ALXIMIKS:

У вас какая задача?

У меня индикатор работает на второстепенном графике. И в зависимости от того с каким графиком работаю я (т.е. какой график активный-основной) индюк на второстепенном показывает то чьл нужно по отношению к активному. У меня там все на ID завязано поэтому выше и спрашивал что с хендлом делать (помню работал с хендломи  когда котировки перебирал).
 
1. Перейти от робительского хендла к дочернему - это хендл от ID.  И перебором всех ID найти у которого хендл такой как надо.
2. То же самое если не сумеете перейти к дочернему хендоу: перебор только теперь берем хендл от ID, далее получаем родительский хендл, далее сравниваете родительские хендлы пока не найдете соответствие.
 

Ок спасибо, по такому пути ещё не ходил, но главное что он есть)) бум пробовать.

Жаль конечно, что внутренними силами MQL активный график пока не найти. 

 
ALXIMIKS:

я решал эту проблему месяц назад.

Без АПИ ни как.

Только получал не ID, а хендл активного чарта. 

Поищите на 5-ке, я ответ выкладывал (там злой барабашка тему переносил)

Не стоит всуе упоминать нечистую силу. 

Подскажите функцию для переключения видимости чарта по ChartID