Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Опубликуй программу в Cobe Base. Миллионы трейдеров ее увидят!
Alexey Navoykov
3958
Alexey Navoykov 2012.04.21 17:14 

Кто знает, как вытащить текст из окна списка ордеров? Данный список является виртуальным, поэтому обычными сообщениями LVM_GETITEM и LVM_GETITEMTEXT ничего естественно не вытянешь. По идее нужно как-то получать через LVN_GETDISPINFO, но я как ни пытался, всё безрезультатно. Смотрел сообщения в Spy, там родительское окно всегда получает уведомление LVN_GETDISPINFO при изменении положения списка. Только непонятно, заполняется ли при этом текстовый буфер или нет. У меня то ничего не заполняется... Значит как-то по другому контрол получает текст?

Ещё там приходит какое-то уведомление с кодом FFFFFFF4, возможно это оно и есть, но хрен поймёшь что это такое.

В общем, если кто сталкивался с этим, подскажите, плиз, а то я уже запарился.

Alexey Navoykov
3958
Alexey Navoykov 2012.04.21 19:13  
sanyooooook:

А какой именно текст нужно вытащить?
Это не имеет значения. Любой текст.
o_O
Модератор
23316
o_O 2012.04.21 20:13  
Meat:

Кто знает, как вытащить текст из окна списка ордеров? Данный список является виртуальным, поэтому обычными сообщениями LVM_GETITEM и LVM_GETITEMTEXT ничего естественно не вытянешь. По идее нужно как-то получать через LVN_GETDISPINFO, но я как ни пытался, всё безрезультатно. Смотрел сообщения в Spy, там родительское окно всегда получает уведомление LVN_GETDISPINFO при изменении положения списка. Только непонятно, заполняется ли при этом текстовый буфер или нет. У меня то ничего не заполняется... Значит как-то по другому контрол получает текст?

Ещё там приходит какое-то уведомление с кодом FFFFFFF4, возможно это оно и есть, но хрен поймёшь что это такое.

В общем, если кто сталкивался с этим, подскажите, плиз, а то я уже запарился.


http://forums.codeguru.com/showthread.php?t=385824
Alexey Navoykov
3958
Alexey Navoykov 2012.04.21 20:32  
Почитал, но ничего нового там не увидел. Текстовый буфер должен заполняться приложением при получении уведомления LVN_GETDISPINFO. Но почему-то этого не происходит в данном случае. Я попробовал с помощью подмены оконной процендуры отловить это уведомление, посылаемое контролом. Но на выходе получаю буфер, заполненный каким-то мусором. Что ж за мистика такая...
o_O
Модератор
23316
o_O 2012.04.21 20:35  
Meat:
Почитал, но ничего нового там не увидел. Текстовый буфер должен заполняться приложением при получении уведомления LVN_GETDISPINFO. Но почему-то этого не происходит в данном случае. Я попробовал даже отловить это уведомление, посылаемое контролом, с помощью подмены оконной процендуры. Но на выходе получаю буфер, заполненный каким-то мусором. Что ж за мистика такая...

не думаю что это мистика. такова уж защита у метаквотов. ничего не поделаешь.

число строк списка возвращается корректно, а вот содержимое не получить.

Такое только на двух вкладках - торговля/история

на новостях и т.д. все гуд.

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

o_O
Модератор
23316
o_O 2012.04.21 20:36  

Мне кажется что создать внешнее самостоятельно приложение без помощи какого то скрипта в МТ (который бы получал с торговли данные) не получится.

Alexey Navoykov
3958
Alexey Navoykov 2012.04.21 20:59  

Да, похоже что так... Жаль конечно... Мне просто нужно было узнать номер выделенного ордера в списке. Есть конечно и топорное решение этой задачи, но я надеялся сделать изящно и надёжно, без танцев с бубном.

o_O
Модератор
23316
o_O 2012.04.21 21:23  
Meat:

Да, похоже что так... Жаль конечно... Мне просто нужно было узнать номер выделенного ордера в списке. Есть конечно и топорное решение этой задачи, но я надеялся сделать изящно и надёжно, без танцев с бубном.


если просто порядковый номер строки списка, то как-то еще выжать можно.

но вот получить инфу из строки и сам ордер... затык.

/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий