ネットでいろいろ参考にしたんですが、さっぱりわからないので
ご教授願いたく質問させていただきます。
まずあるアプリケーションで複数ファイルが開いていたとします。
複数あるファイル中から、ファイル名で指定してアクティブにさせる
方法があればアドバイスをお願いします。
> まずあるアプリケーションで複数ファイルが開いていたとします。
ファイル「が」開くことはありえません。
アプリケーションがファイル「を」開くのです。
> 複数あるファイル中から、ファイル名で指定してアクティブにさせる
ファイルをアクティブにさせるとは何をどうしようとしているのですか。
Windowsのファイルシステムを普通に使う場合において,アクティブ・非アクティブという概念はないと思いますが。
質問をしている立場ではありますが、質問に間違った(理解できない)内容があったとはいえ、初心者といっているのでそれをあのような突っ込み(ものいい)をされると、嫌な気分になってしまいますね。
でもいわれてみれば、日本語が変だったり理解できてないこともあるんで、
以後気をつけます。
思ったことは伝えたい性質なので、上の内容に関してはここまでにします。
質問を変えます。
複数のウィンドウの中から目的のウィンドウをアクティブにしたいです。
例) ウィンドウが3つ(A,B,C)
Aがアクティブ状態の時、Cをアクティブにさせるには?
質問の内容に不備があるかもしれませんが、よろしくお願いします。
え〜と例えば今Aがアクティブになっていて
Cをアクティブにしたいときに
ただ単にCのウィンドウをクリックしてアクティブにするのはだめなんでしょうか?
プログラムでやりたいのならWindowsAPIの"SetActiveWindow"関数を
使えばできるんじゃないでしょうか?
>嫌な気分になってしまいますね。
>思ったことは伝えたい性質なので
教えてもらう、という立場ではないですね。
権利を主張しているのみ。
>ウィンドウをアクティブにしたいです。
ということは
>アクティブ・非アクティブという概念はないと思いますが。
という点についてはあくまでも否定するわけですか?
VB初心者ありがとうございます。
アドバイスいただいたのはマウスでの操作のことでしょうか?
マウス操作ではなく、VBプログラムで考えています。
Riverさんありがとうございます。
WindowsAPIの"SetActiveWindow"関数 ですね!
さっき調べてたらその関数でてきました。
ただ使い方がわからない初心者のため、うまく活用できるかわかりません。
ちょっとがんばってみます。
> 複数のウィンドウの中から目的のウィンドウをアクティブにしたいです。
・System.Windows.Window.Activate メソッド
http://msdn.microsoft.com/ja-jp/library/system.windows.window.activate.aspx
・System.Windows.Forms.Form.Activate メソッド
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.form.activate.aspx
このあたりでしょうか。
YuOさんありがとうございます。
初心者ゆえ、MSDNで解決できないかもしれませんが、参考にしてみます。
いろいろ調べたんですが、わかりません・・。
WindowsAPIの"SetActiveWindow"関数や、YuOさんが助言いただいたメソッド
を使ってどのようなコードになるのでしょうか?
簡単なものでいいので、例になるようなコードを教えていただけないでしょうか?
>WindowsAPIの"SetActiveWindow"関数や、YuOさんが助言いただいたメソッド
>を使ってどのようなコードになるのでしょうか?
SetActiveWindowのサンプルはここのサイトにありますよ。
http://madia.world.coocan.jp/vb/API/SetActiveWindow.htm
VBのバージョンを書いていませんがいくつでしょうか?
サンプルはVB6のものです。
>メロディ 2008/12/02(火) 11:33:51 <初心者>
http://www.vcppclub.com/bbs01/wforum.cgi?mode=allread&no=4734&page=10
のような似た例もあるので、余り過敏に反応しなくても良いのでは?
それは冗談として
コードが欲しいのは分かるんですがmatsu さんが言われているように
環境を書かないと適切なコードが提示できないのでは?
環境と、現在どのようなコードを書いていてどこが分からないのか
提示したほうがよいかと。
長い間返答もなく申し訳ありません。
解決いたしましたのでCloseとさせていただきます。