• ベストアンサー
  • 困ってます

画面の範囲選択

お世話になります。 visual basicでマウスでデスクトップ上をドラックして範囲選択する操作を フォーム上の操作で可能なのでしょうか? 例えば、画面の左上1/4を選択することを画面の座標を入力することで行いたいのですが…。 よろしくお願いいたします。

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数310
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.3

『画像表示部分』がウィンドウであれば、[WindowFromPoint]APIでウィンドウハンドルを取得することができそうです。 ウィンドウハンドルさえ取得すれば、位置やサイズは取得できます。 ざっとUI(及び操作)を考えると ピクチャボックスなどを配置してその上でマウスボタンを押下する(カーソル形状を変更する) 対象のウィンドウまで、マウスボタンを押下したままカーソルを移動(ドラッグ:ユーザの操作) 対象のウィンドウ上でマウスボタンを離す(ユーザの操作)、MouseUpイベントが発生する。その際のX,Y(相対座標)から絶対座標へ変換して、WindowFromPointを利用して対象のウィンドウハンドル取得 などですね。 もし最終的にやりたいことが、『MediaPlayerで再生されているムービーをキャプチャしたい』ということであれば、DirectXの関係などでキャプチャ不可能な環境の方が多いですよ。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

返事遅くなり大変申し訳ございません。 知らないことが多くてまだまだ勉強が必要そうです。 本当にありがとうございました。

関連するQ&A

  • スクリーン座標上でのmouse_eventでのマウスの動き

    御世話様です。 mouse_eventコマンドを使って、スクリーン座標のドラックする範囲を選択しているのですが、選択した範囲が座標で指定した部分より広くなってしまいます。 プログラムは以下の通りです。原因わかる方がいれば ご教授ください。よろしくお願い致します。 (開発環境 Windows2000 Visual Basic6.0) Private Sub Command1_Click() 'ドラッグの自動化 Dim x As Long Dim y As Long 'zahyoux(1.0):選択範囲右下のx座標 'zahyoux(0.0):選択範囲左上のx座標 'zahyoux(1.1):選択範囲右下のy座標 'zahyoux(0.1):選択範囲左上のy座標 'ドラッグする範囲(横) x = zahyoux(1, 0) - zahyoux(0, 0) 'ドラッグする範囲(縦) y = zahyoux(1, 1) - zahyoux(0, 1) 'ドラッグする始点にマウスを移動 Call SetCursorPos(zahyoux(0, 0), zahyoux(0, 1)) 'マウスの左ボタンをクリック Call mouse_event(MOUSEEVENTF_LEFTDOWN,0 ,0, 0, 0) '左ボタンを押したまま移動 Call mouse_event(MOUSE_MOVED, ax, ay, 0, 0) '左ボタンを上げる Call mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0) End Sub

  • 範囲の選択

    パワーポイント(2003)でたとえば、 1.10月実績 2.11月予定   : と入力したとき、「10月実績」だけを範囲選択してコピーしたいのですが、後からマウスで範囲を選択すると「実績」を超えたところで「1.10月実績」全体が選択されてしまいます。10の1から後へ選択していった場合も月を超えたところで全体の選択となってしまいます。 お節介で有名なワードで試したところ問題ありませんでした。パワーポイントでは対策はありませんでしょうか。

  • 選択範囲がとまりません

    Windows7にしてからの症状です。 マウスの左ボタンを押してドラッグして選択範囲をするとき、ボタンから手を放しても選択範囲がはずれずにマウスと動かすと広がってしまいます。 解除したいのですが。よろしくお願いいたします。

その他の回答 (2)

  • 回答No.2

『デスクトップ上を』という事なので生半可な方法では不可能です。 画面いっぱいに表示した枠無しフォームを用意する。 デスクトップのスクリーンショットを取って、フォームに表示させる。 その上でマウスドラッグなりさせて範囲を指定させる。 不必要になったらすぐにフォームを非表示(アンロード)させる。 上の方法で操作上問題ない、及び目的に適うならば比較的簡単に実現できます。

共感・感謝の気持ちを伝えよう!

質問者からの補足

BellBell様、早速の御回答ありがとうございます。 わたしの説明不足で申し訳なかったのですが、 「デスクトップ上を…」というよりは、MediaPlayer等の動 画再生ソフトの画像表示部分をマウスドラッグによって範囲選択する操作をワンタッチで行いたいのですが・・・。 お手数ですが、よろしくお願いいたします。

  • 回答No.1
  • VT250F
  • ベストアンサー率30% (26/84)

可能ですよ。 フォームのマウスダウン、マウスムーブ、マウスアップの イベントにX、Y座標がありますので、それを使って 例えば点線の四角形(フレームコントロール)の 大きさを制御し、 四角形の中に物があるかどうかで判定します。 座標を入力して・・・と言うのはこれを応用して下さい。 まずは、debug.print x,y 等として、 値がどう変化するか、イミディエイト画面に表示してみましょう。

共感・感謝の気持ちを伝えよう!

質問者からの補足

早速の御回答ありがとうございます。 BellBell様への補足にも書いたのですが、 マウスダウン等のイベントによって、 動画再生ソフトの動画部分を選択できるということで よろしかったでしょうか? まだ手探り段階で、試すことができなくて…。 お手数ですが、よろしくお願いいたします。

関連するQ&A

  • Excelのセル範囲選択

    お世話になっています。 現在、Excel2003を使っています。 今日Microsoftのホームページから郵便番号変換機能をダウンロードしました。そして、Excelで使用しようと、郵便番号を入力して郵便変換ウィザードを起動させたのですが、範囲選択の所で範囲を選択して「次へ」と押すと、びっくりマークが出てきて、「指定されたセル範囲は正しくありません。セル範囲はマウスで指定することができます。」と表示されセル範囲の選択ができません。 マウスで指定してもこの表示が出るのですが、どうしたら解決できるでしょうか。初心者なので分かりやすく教えていただけたら嬉しいです。 分かりにくかったり情報が少なければ補足させていただきます。よろしくお願いいたします。

  • Excelの範囲選択について

    例えば、B4~B500にデータが入力されているとします。 B4~B500のデータを選択する時には、 B4にマウスを合わせてクリックします。 その後、マウスを下にもっていきますが、 うまくB500でカーソルがとまらずB500の上下を 行ったり来たりということがよくあります。 そこで、B4にマウスを合わせてクリックしたあと、 データが入力されている最終行までキーボードで 選択できる操作があった思うのですが、 思い出せません。 教えてください。

  • マウスでのまとまったセル範囲の選択

    WindowsXP、Excelの操作で、マウスのみでまとまったセル範囲を確実に選択したいのですが、うまく選択できない場合が頻発しています。また一部の文字範囲の選択もうまく出来ません。何か設定上の問題があるのでしょうか?

  • PhotoShop 選択範囲指定の基点

    Windows2000 photoShop7.0 選択範囲を指定するとき基点からマウスをドラッグしますが、その基点が左上隅からです。 中心を基点にして選択範囲を指定できないでしょうか?

  • 選択範囲の座標値の抽出

    Word文書で、現在選択している行範囲を、オートシェープで 囲みたいと思っています。しかし、選択範囲の座標値取得の仕方に 検討がつきません。座標以外でも囲める方法などありましたら、 宜しくお願いします。

  • WindowsLiveメール内で、範囲選択方法は?

    お世話になります。 届いたメールをすべて選択するには、コントロールキー+Aで、OKなのですが、 届いたメールのいくつかを、選択するにはどうすればいいですか? 昔のアウトルックでは、マウスのドラッグ操作による、複数範囲選択が出来て便利だったのですが・・ 届いたメールの複数選択の便利で、簡単な方法を教えてください。 メールが大量に溜まっていて、整理するのに、これが出来ると、便利ですね。

  • Photoshopで、選択中の選択範囲が表示されない

    Photoshopについて質問させてください。 先日、新しいPCを購入し、PhotoshopCS2をインストールしたのですが、なぜか範囲選択を行う際、「範囲選択を表す点線の枠」が表示されません。 以前の環境では、選択範囲を指定する際、選択したい始点で左クリックし、任意の範囲を選択しようとマウスを動かすと、リアルタイムに「選択範囲を表す点線の枠」が拡大縮小し、左クリックを離すと確定できていたのですが、新しい環境では、マウスを動かしている間は、カーソルは表示されますが、「範囲選択を表す点線の枠」が表示されず、左クリックを離したとき、初めて表示されます。 もしかしたら、以前の環境では、なにか操作をしてそのように表示するようにしていたのかもしれませんが、なにぶん昔の事で、覚えていません。(ただ、出先の会社などで範囲選択ツールを使用してみても、たいてい表示されていたと思うので、特殊なオプションではないと思うのですが・・・) 範囲選択を行っている際の、「範囲選択を表す点線の枠」の表示のさせ方をご存知の方いらっしゃいましたら、ぜひご回答よろしくお願いいたします。

  • 「ペイント」の範囲選択がうまく出来ません

    パソコンの画面を「PrtSc-SysRq」キーを押して、「ペイント」を開いて「編集ー貼り付け」で「ペイント」に取り込みます。その画面の内、必要なところを、範囲選択して「コピー」して、「Word]や「ビルダー」などに「編集ー貼り付け」で利用しようと思います。その時、必要な画面が全て画面に表示されているとは限りません。ペイントの画面の右側・下側に隠れている所を含めて、左上角から一気に右下角までを範囲選択をするには、どのようにすれば、出来るのか教えて下さい。 「ペイント」の「変形ー伸縮と傾き」を使い画像を小さくすることは、したくありません。以上よろしくお願いします。

  • フォトショップで選択範囲を微妙に移動させたい

    フォトショップ7.0です。 選択範囲を微妙に移動させたいのですが、すこしづつの移動ができず、思ったような位置でストップしてくれません。 ある時オプションバーにX座標・Y座標を入力できるバーが表示され、微妙な移動ができたのですが、どうして出たのかがわかりません^^;。 そのオプションバーはどうしたら出てくるのでしょう?

  • Accessフォームで画面をスクロールさせるには?

    現在Access2003を使ってデータベースを作成中です。 フォームで項目を入力してもらうようにと思っているですが、入力項目数が多く、画面に入りきらないので、マウスホイールで画面を上下にスクロールさせたいと考えています。 通常、フォーム上でマウスホイールを使うと次のレコードに移動してしまうので、そこでのミスをなくすために、さしあたって現在はマウスホイール操作を無効にはしています。 もしも、マウスホイールで画面をスクロールさせることができれば、その方法を採用したいと考えています。 どうぞよろしくお願いいたします。