複数の画面からひとつを選択しアクティブにするには?

解決


メロディ  2008-12-02 19:33:07  No: 140935

ネットでいろいろ参考にしたんですが、さっぱりわからないので
ご教授願いたく質問させていただきます。

まずあるアプリケーションで複数ファイルが開いていたとします。
複数あるファイル中から、ファイル名で指定してアクティブにさせる
方法があればアドバイスをお願いします。


YuO  2008-12-02 20:07:13  No: 140936

> まずあるアプリケーションで複数ファイルが開いていたとします。

ファイル「が」開くことはありえません。
アプリケーションがファイル「を」開くのです。

> 複数あるファイル中から、ファイル名で指定してアクティブにさせる

ファイルをアクティブにさせるとは何をどうしようとしているのですか。
Windowsのファイルシステムを普通に使う場合において,アクティブ・非アクティブという概念はないと思いますが。


メロディ  2008-12-02 20:33:51  No: 140937

質問をしている立場ではありますが、質問に間違った(理解できない)内容があったとはいえ、初心者といっているのでそれをあのような突っ込み(ものいい)をされると、嫌な気分になってしまいますね。
でもいわれてみれば、日本語が変だったり理解できてないこともあるんで、
以後気をつけます。
思ったことは伝えたい性質なので、上の内容に関してはここまでにします。

質問を変えます。
複数のウィンドウの中から目的のウィンドウをアクティブにしたいです。

例)  ウィンドウが3つ(A,B,C)
    Aがアクティブ状態の時、Cをアクティブにさせるには?

質問の内容に不備があるかもしれませんが、よろしくお願いします。


VB初心者  2008-12-02 20:46:48  No: 140938

え〜と例えば今Aがアクティブになっていて
Cをアクティブにしたいときに
ただ単にCのウィンドウをクリックしてアクティブにするのはだめなんでしょうか?


River  2008-12-02 20:54:50  No: 140939

プログラムでやりたいのならWindowsAPIの"SetActiveWindow"関数を
使えばできるんじゃないでしょうか?


WAKE  2008-12-02 20:57:00  No: 140940

>嫌な気分になってしまいますね。

>思ったことは伝えたい性質なので

教えてもらう、という立場ではないですね。
権利を主張しているのみ。

>ウィンドウをアクティブにしたいです。

ということは

>アクティブ・非アクティブという概念はないと思いますが。

という点についてはあくまでも否定するわけですか?


メロディ  2008-12-02 21:02:12  No: 140941

VB初心者ありがとうございます。
アドバイスいただいたのはマウスでの操作のことでしょうか?
マウス操作ではなく、VBプログラムで考えています。


メロディ  2008-12-02 21:05:04  No: 140942

Riverさんありがとうございます。
WindowsAPIの"SetActiveWindow"関数  ですね!
さっき調べてたらその関数でてきました。
ただ使い方がわからない初心者のため、うまく活用できるかわかりません。
ちょっとがんばってみます。


YuO  2008-12-02 21:06:13  No: 140943

> 複数のウィンドウの中から目的のウィンドウをアクティブにしたいです。

・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
このあたりでしょうか。


メロディ  2008-12-02 22:20:47  No: 140944

YuOさんありがとうございます。
初心者ゆえ、MSDNで解決できないかもしれませんが、参考にしてみます。


メロディ  2008-12-03 01:09:11  No: 140945

いろいろ調べたんですが、わかりません・・。
WindowsAPIの"SetActiveWindow"関数や、YuOさんが助言いただいたメソッド
を使ってどのようなコードになるのでしょうか?
簡単なものでいいので、例になるようなコードを教えていただけないでしょうか?


matsu  2008-12-03 02:36:13  No: 140946

>WindowsAPIの"SetActiveWindow"関数や、YuOさんが助言いただいたメソッド
>を使ってどのようなコードになるのでしょうか?

SetActiveWindowのサンプルはここのサイトにありますよ。

http://madia.world.coocan.jp/vb/API/SetActiveWindow.htm

VBのバージョンを書いていませんがいくつでしょうか?
サンプルはVB6のものです。


お宅  2008-12-05 09:31:35  No: 140947

>メロディ 2008/12/02(火) 11:33:51 <初心者> 
http://www.vcppclub.com/bbs01/wforum.cgi?mode=allread&no=4734&page=10
のような似た例もあるので、余り過敏に反応しなくても良いのでは?

それは冗談として
コードが欲しいのは分かるんですがmatsu さんが言われているように
環境を書かないと適切なコードが提示できないのでは?

環境と、現在どのようなコードを書いていてどこが分からないのか
提示したほうがよいかと。


メロディ  2009-01-27 19:47:31  No: 140948

長い間返答もなく申し訳ありません。
解決いたしましたのでCloseとさせていただきます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加