Как определить: отжата или нажата кнопка автопрокрутки и в случае, если она нажата - отжать !? - страница 5
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
int max = SendMessage ( hwndTaskbar, TB_BUTTONCOUNT, 0, 0);
Подскажите, плз. где посмотреть все значения констант типа: TB_BUTTONCOUNT, TB_ISBUTTONPRESSED ?!
Хочу определить кнопку и её состояние !
Какой командой в тулбаре можно кнопки перебирать и находить нужную ?
Может всё-таки кто-нибудь это делал ?
Дескриптор окна графики отыскал:
int deinit() {ObjectsDeleteAll();Comment ("");}int start() { ObjectsDeleteAll(); Comment (""); int hwnd = GetAncestor (WindowHandle(Symbol(),Period()),2); //дескриптор основного окна терминала int temp = GetWindow (hwnd, 5); int Count = GetWindowTextLengthA (temp); GetWindowTextA (temp, Name, Count+1); if (Name != "Стандартная" || Name == "Графики" || Name == "Графические инструменты") { for (int i=0;i<10;i++) { temp = GetWindow (temp, 2); if (temp == 0) break; Count = GetWindowTextLengthA (temp); GetWindowTextA (temp, Name, Count+1); if (Name == "Стандартная" || Name == "Графики" || Name == "Графические инструменты") {hg = temp; break;} } } else hg = temp; int h = GetWindow (hg, 5); Count = GetWindowTextLengthA (h); GetWindowTextA (h, Name, Count+1); if (Name != "Графики") { for (i=0;i<10;i++) { h = GetWindow (h, 2); if (h == 0) break; Count = GetWindowTextLengthA (h); GetWindowTextA (h, Name, Count+1); if (Name == "Графики") break; } } Print (DecToHex(h,8)); while (!IsStopped()) { GetWindowRect (h,rect); GetCursorPos (Pos); X = Pos[0] - rect[0]; Y = Pos[1] - rect[1]; Comment ("X= ",X,"\n","Y= ",Y); Sleep(100); } return(0); }string DecToHex (int n, int dig) { string s[], r=""; string Sym[16] = {"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"}; ArrayResize (s,dig); for (int i=0; i<dig; i++) s[i]="0"; i = dig-1; while (n != 0) {s[i] = Sym[n%16]; n = n>>4; i--; } for (i=0; i<dig; i++) r=r+s[i]; return (r); }Что-то не понял... Зачем?! Сильно удивлён. В мой заголовочник заглядывали? Судя по коду - нет.
Любая команда с графика это одна функция, одна строчка кода.
Что-то не понял... Зачем?! Сильно удивлён. В мой заголовочник заглядывали? Судя по коду - нет.
Любая команда с графика это одна функция, одна строчка кода.
Ладно, решение по данному вопрос буду искать в другом месте.
Извините за доставленные неудобства ...
Ладно, решение по данному вопрос буду искать в другом месте.
Извините за доставленные неудобства ...
Там, в заголовочнике, код и пример.
Скопируйте сюда то, что вы считаете примером по данному вопросу ?!
Нашёл только это:
// 3.1.1. Функция включает/отключает автопрокрутку указанного графика.
void ServiceAutoScroll(int hwndChart); // Системный дескриптор окна графика, на котором отключается автопрокрутка.
//=====================================================================================================================================================================
// 3.1.2. Функция включает/отключает смещение указанного графика. В случае успеха метод возвращает TRUE, иначе - FALSE.
bool ServiceShift(int hwndChart); // Системный дескриптор окна графика, на котором включается/отключается смещение.
Но это не нужно !
Скопируйте сюда то, что вы считаете примером по данному вопросу ?!
Если вот эта функция, то мне всё равно нужно её внутренность ...
// 3.2.1. Функция возвращает состояние автопрокрутки на указанном графике. В случае успеха функция возвращает TRUE, иначе - FALSE.
bool ServiceGetAutoScroll(int hwndChart); // Системный дескриптор окна графика, с которого возвращается состояние автопрокрутки.
Скопируйте сюда то, что вы считаете примером по данному вопросу ?!
Нашёл только это:
// 3.1.1. Функция включает/отключает автопрокрутку указанного графика.
void ServiceAutoScroll(int hwndChart); // Системный дескриптор окна графика, на котором отключается автопрокрутка.
// 3.1.2. Функция включает/отключает смещение указанного графика. В случае успеха метод возвращает TRUE, иначе - FALSE.
bool ServiceShift(int hwndChart); // Системный дескриптор окна графика, на котором включается/отключается смещение.
Но это не нужно !
Я про библиотеку не говорил. Но если речь про библиотеку, то есть функция:
Выше написал про WinUser32.mqh. Там коды управления.