概要
VI実行中は通常、制御器をマウスでドラッグできませんが、プログラム的にドラッグするようにできます。
詳細
VI実行中に制御器をマウスでドラッグできるようにするには、イベントストラクチャを使ってマウスのイベントを受け取り、それに応じてプログラム的に制御器・表示器を移動します。
マウスダウンイベントでドラッグする制御器を特定し、マウス移動イベントが発生するたびに制御器・表示器の位置を変更します。
マウスボタンを離すか、マウスがウィンドウ外に移動したら、ドラッグを終了します。
このVIでは、すべての波形グラフを実行中にドラッグできるようにしています。
実装方法
(詳細は添付VIのブロックダイアグラム上のコメントをご覧ください)
- ドラッグしたい制御器のリファレンスを取得します。
- プロパティノードを使用してすべての制御器のリファレンスを取得します。
- すべての制御器のリファレンスから、特定の種類の制御器リファレンスのみを抽出します。
このサンプルVIでは、波形グラフのリファレンスのみを抽出しています。
- イベント登録ノードで、ドラッグしたい制御器の「マウスダウン?」イベントを登録します。
- イベントストラクチャで、それぞれのイベントを処理します。
- 「マウスダウン?」:登録した制御器がクリックされたら、マウスの位置を取得
- 「マウス移動」:フロントパネル内でマウスが移動したら、ドラッグ中の場合は制御器を移動
- 「マウスアップ」:左マウスボタンが離されたら、ドラッグ状態をキャンセル
- 「マウス境界外」:マウスがウィンドウの外に行った場合、ドラッグ状態をキャンセル
必要なもの
ソフトウェア
VIスニペット(LabVIEW 2015)
