スクロールボタンが押されているか、押されているかを判断し、押されている場合は、押せばいいのです。 - ページ 4

 
Zhunko:

Leoが気を利かせてくれたのなら、ライブラリへのリンクは私のWinUser32.mqhです。必要なコマンドや機能はすべて備えています。輸出する必要はありません。


33017 - オートスクロールの削除/設定。
なのか、それとも別の何か?
 
LEOK:

33017 - オートスクロールの削除/設定。
なのか、それとも別の何か?
Spy++は助かります。
情報をストレートに受け止める。
 
LEOK:

33017 - autoscroll の削除/設定; or something else ?
制御のため、そうです。ステータスについては、グラフのプロパティが 必要です。
 

個人的にはTB_GETSTATEを使うことの何が問題なのか、まだ理解できていません。どのようなウィンドウアクティビティだったのでしょうか?WM_GETTEXT、BM_GETSTATEなどと同様に、コントロールに送信される通常のウィンドウメッセージです。いつもこのメッセージを使っていますが、全く問題ありません。そして、アプリケーションはこれらのメッセージを持つコントロールから同じように情報を受け取る。

また、ウィンドウがアクティブであるかどうかは関係ありません。

 
Meat:

個人的には、TB_GETSTATEを使うことの何が問題なのか、まだ理解できていません。どのようなウィンドウ活動をしていたのでしょうか?WM_GETTEXT、BM_GETSTATEなどと同様に、コントロールに送信される通常のウィンドウメッセージです。いつもこのメッセージを使っていますが、全く問題ありません。そして、アプリケーションはこれらのメッセージを持つコントロールから同じように情報を受け取る。

ウィンドウがアクティブであるかどうかは関係ありません。

このパネルは、アクティブなチャートに対してのみ機能します。メッセージを送信する前の瞬間に、ウィンドウのアクティビティが変化した場合はどうなるのでしょうか?別のチャートウィンドウがアクティブになります。したがって、自分のウィンドウではなく、他のウィンドウのボタン位置が取得されることになります。この場合、ボタンの位置を取得したいウィンドウのアクティビティと送信するメッセージをどのように同期させればよいのでしょうか。このままでは、予期せぬエラーが多発することになります。DLLでもこれは明らかではありません。

グラフプロパティで 取得する方が簡単で確実です。

 
Zhunko:

このパネルは、アクティブなタイムテーブルでのみ機能します。メッセージが送信される直前にウィンドウのアクティビティが変化した場合はどうなるのでしょうか?別のグラフウィンドウがアクティブになります。それに対応して、自分のウィンドウではなく、別のウィンドウのボタン位置が取得されます。この場合、ボタンの位置を取得したいウィンドウのアクティビティと送信するメッセージをどのように同期させればよいのでしょうか。このままでは、予期せぬエラーが多発することになります。DLLでもこれは明らかではありません。

グラフプロパティで取得する方が簡単で確実 です。


使用例(コード)を教えてください:グラフのプロパティで 取得する方法 ?!
 
LEOK:
使用例(コード)を教えてください:グラフのプロパティから取得する方法 ?!
チャートのプロパティを 開くコマンドを真似してください。
モーダルダイアログを待ちます。
見つけてください。
必要な要素を探す。
モーダルダイアログを閉じます。

どんな質問があるのか...
 
Zhunko:

このパネルは、アクティブなタイムテーブルでのみ機能します。メッセージが送信される直前にウィンドウのアクティビティが変化した場合はどうなるのでしょうか?別のグラフウィンドウがアクティブになります。それに対応して、自分のウィンドウではなく、別のウィンドウのボタン位置が取得されます。この場合、ボタンの位置を取得したいウィンドウのアクティビティと送信するメッセージをどのように同期させればよいのでしょうか。このままでは、予期せぬエラーが多発することになります。DLLでもこれは明らかではありません。

チャートプロパティで取得する方が簡単で確実です。

まず、必要なチャートを強制的にアクティブにすることができます。また、信頼性を高めるために、メインターミナルウィンドウの名前を確認します。希望するチャートの名前が含まれている必要があります。しかし、私は主張しませんが、おそらく、あなたのバージョンの方が、チャートを切り替える必要がないので、まだ便利です。ただし、チャートのプロパティの ウィンドウは点滅します :)

 
Meat:

まあ、まずは必要なチャートを強制的に起動させればいいんですけどね。念のため、メインターミナルウィンドウの名前も確認してください。必要なチャートの名前が含まれている必要があります。しかし、私は主張しませんが、おそらく、チャートを切り替える必要がないため、あなたのバージョンの方がまだ便利です。しかし、チャートのプロパティのウィンドウはポップアップします :).

確かに、起動することは可能です。でも、どうやって同期させるの?ウィンドウの活動は、任意のプログラムまたはユーザー自身によっていつでも停止させることができます。これはどうすれば解決できるのでしょうか?とても不便な方法です。

窓がチラつくが、非常に早い。コンピュータが忙しくなければ、ほとんど気づかないほどです。

LEOK:

使用例(コード)を教えてください:グラフのプロパティを使ってどのようにこれを得ることができますか?

私のWinUser32.mqhの中を見てください。そこには、コマンドコードがあります。Spyで見る必要はない。あとはもうおわかりですね。

アンドレイはちゃんと書いていますよ。

jartmailru
チャートのプロパティを開くコマンドをシミュレートします。
モーダルダイアログを待ちます。
見つけてください。
目的の項目を探す。
モーダルダイアログを閉じます。
タブを切り替えるだけで、アイテムが見つかります。
 
Meat:

まあ、まずは必要なチャートを強制的に起動させればいいんですけどね。念のため、メインターミナルウィンドウの名前も確認してください。必要なチャートの名前が含まれている必要があります。しかし、私は主張しませんが、おそらく、チャートを切り替える必要がないため、あなたのバージョンの方がまだ便利です。ただし、チャートのプロパティのウィンドウは点滅します :)

MTがボタンの状態を 更新するスピードは不明です。そのため、ウィンドウを起動してからステータスを読み出すまでに間を置くことが望ましいのですが、それでは不十分な場合があり、プログラムロジックが失敗してしまいます。つまり、ヴァディムのやっていることは、ある意味「工業的な方法」なのです。