Как вычислить высоту подокна индикатора в пикселях?

 

Народ, подскажите, пожалуйста, как узнать высоту подокна индикатора в пикселях!

Нужно для рисования в окне индикатора некоторых графических объектов, которые необходимо распределить пропорционально высоте этого окна.


Написал такую функцию, но она дает высоту всего окна, вместе с подокнами индикаторов:

int intWindowHeight_InPixels(string strSymbol,int intPeriod) {

int intResult;
int aintWindowCorners[4]; //0:Left, 1:Top, 2:Right, 3:Bottom

intResult=GetWindowRect(WindowHandle(strSymbol,intPeriod),aintWindowCorners);
intResult=aintWindowCorners[3]-aintWindowCorners[1];
return(intResult);
}


Видимо, нужно как-то определить дескриптор подокна индикатора, и использовать его в GetWindowRect, но как его найти, что-то торможу :)

 

Подокно виртуальное. У него нет дескриптора.

Много раз этот вопрос поднимали и на него отвечали.

 

Спасибо, Zhunko! Я пробовал поискать на этом и на других форумах ответ на свой вопрос, но не нашел. Наверное, плохо искал :(

Как же мне выйти из положения? Буду думать.

 

OBJ_TEXT и WindowFirstVisibleBar() в помощь.

 
Можно посмотреть в файле: MetaTrader\profiles\default\chartXX.chr
Там для каждого подокна есть такие строки:
<window>
height=100
Это и есть высота подокна графика, только не в пикселях, а в условных единицах.
К сожалению, эти файлы обновляются только при выходе из МТ.
 

Еще можно по графическим рамочкам распознавание сделать :-)...

Пока рамочка идет - это окно. Потом перерыв, потом следующее окно :-).

Это проще, чем распознавание текста.

 
jartmailru >>:

Еще можно по графическим рамочкам распознавание сделать :-)...

Пока рамочка идет - это окно. Потом перерыв, потом следующее окно :-).

Это проще, чем распознавание текста.

Извращенец :)

Причина обращения: