スクロールボタンが押されているか、押されているかを判断し、押されている場合は、押せばいいのです。 - ページ 6 12345678 新しいコメント Vadim Zhunko 2012.02.24 17:34 #51 LEOK: これが機能なら、やはり中身が必要ですね...。 // 3.2.1. 指定されたグラフの自動スクロールの状態を返す.成功した場合は TRUE を、失敗した場合は FALSE を返します。 bool ServiceGetAutoScroll(int hwndChart); // チャートウィンドウのシステムディスクリプタで、自動スクロールの状態を返す。 機能内部で満足することはないでしょう。それに、いろいろなところからコピーするのが億劫になってしまう。MT4ウィンドウズで作業するためのクラスがあります。そこですべてが一元的に行われるのです。コピーしなければならないことが多すぎる。 この機能は、例えば // 3.2.1. Функция возвращает состояние автопрокрутки на указанном графике. В случае успеха функция возвращает TRUE, иначе - FALSE. EXPFUNC(BOOL) ServiceGetAutoScroll(const HWND hwndChart) // Системный дескриптор окна графика, с которого возвращается состояние автопрокрутки. { try { Init(); // Инициализация библиотеки. return(MT4_WINDOWS->GetAutoScroll(hwndChart)); } catch(TCHAR* szExclusion) { Utils::Debugging::MessageBoxStop(_T("ServiceGetAutoScroll()"), szExclusion); } catch(tstring &sExclusion) { Utils::Debugging::MessageBoxStop(_T("ServiceGetAutoScroll()"), sExclusion); } catch(...) { Utils::Debugging::MessageBoxStop(_T("ServiceGetAutoScroll()"), _T("Системная ошибка!") + LAST_ERROR); } return(FALSE); } 自分に合うかどうか?GetAutoScroll() メソッドの背後には、クラス全体が存在します。 時間を無駄にしないために、すでに行われていることを利用する。そうでなければ、自分でプロセッサを開発したり、いっそのことシリコンを採掘して加工することからプログラミングを始めてもいいかもしれません。 L_E_O 2012.02.24 20:43 #52 とにかく、最初のバージョンのスクリプトは何とか動くようです ! もちろん、もっとシンプルで信頼性の高いバージョンもあるのだが、私はそれを手に入れられなかった. スクリプトを添付します ... ファイル: getpixel.ex4 5 kb Рустам 2012.02.24 21:11 #53 コードを見せたいなら見せればいいし、見せたくないなら何も言わなくていい。 L_E_O 2012.02.24 21:50 #54 FAQ: 見せたいならコードを見せればいいし、見せたくないなら黙っていればいい。 だから、議論され、示されてきたのです. このコードには何も隠されていませんので、お願いします。 #property copyright "Copyright © 2012 ЛЕО" #import "user32.dll" int GetWindow (int, int); int GetAncestor (int hWnd, int gaFlags); int GetWindowTextLengthA (int); int GetWindowTextA (int, string, int); int GetWindowDC (int hWnd); #import #import "gdi32.dll" int GetPixel (int hDC, int x, int y); int hwnd, hg, h; string Name = "012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"; string pr[2]; int deinit() {ObjectsDeleteAll();Comment ("");} int start() { ObjectsDeleteAll(); Comment (""); int hwnd = GetAncestor (WindowHandle(Symbol(),Period()),2); //дескриптор основного окна терминала // Первое дочернее окно int temp = GetWindow (hwnd, 5); GetWindowTextA (temp, Name, GetWindowTextLengthA(temp)+1); // Поиск первого дочернего окна по имени if (Name != "Стандартная" || Name == "Графики" || Name == "Графические инструменты") { for (int i=0;i<10;i++) { temp = GetWindow (temp, 2); if (temp == 0) break; GetWindowTextA (temp, Name, GetWindowTextLengthA(temp)+1); if (Name == "Стандартная" || Name == "Графики" || Name == "Графические инструменты") {hg = temp; break;} } } else hg = temp; // Поиск второго дочернего окна "Графики" int h = GetWindow (hg, 5); GetWindowTextA (h, Name, GetWindowTextLengthA(h)+1); if (Name != "Графики") { for (i=0;i<10;i++) { h = GetWindow (h, 2); if (h == 0) break; GetWindowTextA (h, Name, GetWindowTextLengthA(h)+1); if (Name == "Графики") break; } } // если цвет пикселя кнопки =10526880, значит кнопка нажата, в противном случае нет while (!IsStopped()) { if (GetPixel (GetWindowDC(h),166,3) == 10526880) pr[0] = "ПРОКРУТКА"; else pr[0] = "прокрутка"; if (GetPixel (GetWindowDC(h),200,3) == 10526880) pr[1] = " СМЕЩЕНИЕ"; else pr[1] = " смещение"; Comment ("\n ",pr[0],pr[1]); Sleep(500); } return(0); } Рустам 2012.02.24 22:12 #55 個人的にはどうでもいい。 どうしてもというならEx4を読む。 その後、同じような疑問を持つかもしれない他の参加者が心配だ。 Vadim Zhunko 2012.02.24 22:15 #56 コードの弱点 1.グラフとの連動がない。このコードは、任意のアクティブなチャートのボタン位置を取得します。 2.本コードは、自律的なパネル位置については規定しない。つまり、このコードは常に動作するわけではありません。 3.このコードは、ロシア語ローカライズ版でのみ動作します。 4.面白いのですが、紳士的ではありませんね^^;)。 C++の後にMLQ4でWinAPIのコードを見るのは怖いです。 L_E_O 2012.02.24 22:20 #57 すみません、思いつくままに作ってみました!私は初心者で、皆さんのようなACCではありません。 だから、この3つのデメリットがないように、コードの掲載をお願いしたのです ! 色について(4点目)、よくわからなかった!? Андрей 2012.02.24 22:53 #58 LEOK: 色について(4点目)よくわからないのですが......? 色については私もショックです。 TB_ISBUTTONCHECKEDの不具合について教えてください。 Vadim Zhunko 2012.02.24 23:32 #59 LEOK: すみません、思いつくままに作ってみました!私は初心者で、皆さんのようなACCではありません。 だから、この3つのデメリットがないように、コードの掲載をお願いしたのです ! 色についてはよくわかりません!(4点目) そういう技術文化なんです。ペンチでボルトやナットを緩めるのは文化的ではありません。そのためのスパナがあるのです。 この3つのデメリットを回避する方法は、すでに何度か書きました。 L_E_O 2012.02.25 05:57 #60 jartmailru: 色については私もショックです。 TB_ISBUTTONCHECKEDは、なぜこんなに迷惑なのですか? 見ていない、知らない、試していないものを、好きとか嫌いとか言ってはいけない ! そのため、助けを求めて、もう一度、mql4でTB_ISBUTTONCHECKEDを使ったコード例を求めているのです. 12345678 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
これが機能なら、やはり中身が必要ですね...。
// 3.2.1. 指定されたグラフの自動スクロールの状態を返す.成功した場合は TRUE を、失敗した場合は FALSE を返します。
bool ServiceGetAutoScroll(int hwndChart); // チャートウィンドウのシステムディスクリプタで、自動スクロールの状態を返す。
機能内部で満足することはないでしょう。それに、いろいろなところからコピーするのが億劫になってしまう。MT4ウィンドウズで作業するためのクラスがあります。そこですべてが一元的に行われるのです。コピーしなければならないことが多すぎる。
この機能は、例えば
自分に合うかどうか?GetAutoScroll() メソッドの背後には、クラス全体が存在します。
時間を無駄にしないために、すでに行われていることを利用する。そうでなければ、自分でプロセッサを開発したり、いっそのことシリコンを採掘して加工することからプログラミングを始めてもいいかもしれません。
とにかく、最初のバージョンのスクリプトは何とか動くようです !
もちろん、もっとシンプルで信頼性の高いバージョンもあるのだが、私はそれを手に入れられなかった.
スクリプトを添付します ...
見せたいならコードを見せればいいし、見せたくないなら黙っていればいい。
だから、議論され、示されてきたのです.
このコードには何も隠されていませんので、お願いします。
コードの弱点
1.グラフとの連動がない。このコードは、任意のアクティブなチャートのボタン位置を取得します。
2.本コードは、自律的なパネル位置については規定しない。つまり、このコードは常に動作するわけではありません。
3.このコードは、ロシア語ローカライズ版でのみ動作します。
4.面白いのですが、紳士的ではありませんね^^;)。
C++の後にMLQ4でWinAPIのコードを見るのは怖いです。
すみません、思いつくままに作ってみました!私は初心者で、皆さんのようなACCではありません。
だから、この3つのデメリットがないように、コードの掲載をお願いしたのです !
色について(4点目)、よくわからなかった!?
色について(4点目)よくわからないのですが......?
TB_ISBUTTONCHECKEDの不具合について教えてください。
すみません、思いつくままに作ってみました!私は初心者で、皆さんのようなACCではありません。
だから、この3つのデメリットがないように、コードの掲載をお願いしたのです !
色についてはよくわかりません!(4点目)
そういう技術文化なんです。ペンチでボルトやナットを緩めるのは文化的ではありません。そのためのスパナがあるのです。
この3つのデメリットを回避する方法は、すでに何度か書きました。
色については私もショックです。
TB_ISBUTTONCHECKEDは、なぜこんなに迷惑なのですか?
見ていない、知らない、試していないものを、好きとか嫌いとか言ってはいけない !
そのため、助けを求めて、もう一度、mql4でTB_ISBUTTONCHECKEDを使ったコード例を求めているのです.