• 締切済み

delphi7でAlt+Tabでのフォームの切替について

現在、delphi7 + interbase7でC/Sシステムを開発しています。 複数のフォーム(form1,form2,form3・・・)を立ち上げて、それを、WindowsAPIのAlt+TabでそれぞれActiveになっているフォームの切替を行いたいのですが、作成の糸口がつかめず、 大変困っています。 感じとしては、Windowsの標準の機能で、Alt+Tabキーで実行中のアプリを切り替えられると思うのですが、 それと同じような動きをDelphiの中で実現できたらなと考えています。 経験者の方、もしくは何か情報を知っている方がいましたら、ご教授お願いします。

みんなの回答

noname#9119
noname#9119
回答No.2

Alt+Tab でフォームを切り替えできるようにしたいということでしょうか。 メインフォーム以外のFormのFormCreateで SetWindowLong(Self.Handle, GWL_HWNDPARENT, 0); を実行するのが手っ取り早いかもしれません。 タスクバーにもForm毎に表示されるようになって Alt+Tabで切り替えできるようになります。

参考URL:
http://halbow.cool.ne.jp/VCL06.html
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

keybd_event

参考URL:
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpwinui/html/_win32_keybd_event.asp

関連するQ&A

  • alt + tabみたいに

    alt + tab でタスクの切り替えができると思いますが、 タスクの切り替え画面みたいな感じでソフトの選択ってできないのでしょうか? alt + tab みたいにtabを押し続けると移動してソフトの選択できないかなーって思っています。 (たとえばexcelやエディタの新規作成など) 知っているかたがいらっしゃいましたら教えてください。 お願いします。

  • Alt+Tabが反応しない

    いつからかわからないのですが、Alt+Tabのウィンドウ切り替えが反応しなくなっています。 TabキーもAltキーも、各々ですとちゃんと反応するのですが 何故かAlt+Tabだけ何も反応しません…どうかお力添えお願いします。

  • Delphi のフォーム操作について

    Delphi のフォーム操作について 初めて質問させてもらいます。 Delphiで、ファイルをコピーしレジストリに登録したりするソフトウェアのインストーラーのようなもの、たとえばInstallShieldのようなものを作りたいと思ったのですが、 ”次へ”ボタンを押したときにウィンドウは消えず位置も変えないで 線の上側のインストール先を選択させる画面から”現在コピーしています...”のような画面に移り変わるようにするにはどうすればいいのでしょうか。 Button1を ”次へ”ボタン としたとき procedure TForm1.Button1Click(Sender: TObject); begin form1.Destroy; begin Form2.Show; end; end; という書き方をすれば似たようなことができますが、いわゆるInstallShieldのようにはなりません。 どのように表示させればこの場合はベストなのでしょうか。 2ヶ月ほど前から少しVB.NETをいじり、最近Delphiをはじめ、 いろいろ検索してみて http://www2.big.or.jp/~osamu/Delphi/Tips/key.cgi?key=14#0295.txt こちらの記事を見つけ、参考にしましたが使いこなせませんでした。 VB.NETでも同じようなことを試みましたが、参考記事が見つからず 上で書いたような表示方法をしない形で書きました。 環境は Turbo Delphiを使用しています。 どうかご教示ください。

  • タブ切替ボタンからのフォーカス移動について

    いつもお世話になっています。 VisualStudio2005,Vistaで開発しています。 タブコントロールのタブ切替ボタンにフォーカスが当たっている状態で左右キーを押すと、 隣のボタンにフォーカスが移ると共にアクティブなタブが変更されます。 その状態でTabキーを押すと、該当タブページの先頭オーダーを持つコントロールにフォーカスが移りますが、 これと同じ動作を下キー、Enterキーで実現したいと考えています。 テキストボックス等ではkeypressイベント、keydownイベントでフォーカス制御ができましたが、 どうもうまくいきません。 個々のタブページでは両イベントが発生せず、タブコントロール本体ではイベント自体は起きるものの、 コンボボックスの内容を変更するために押した下キーにすら反応してしまいます。 何か良い解決方法はありませんでしょうか。 皆様のお知恵をお貸しいただけましたら幸いです。

  • ALT+TABの機能を無効にしたい。

    全画面でゲームしているときに操作でよくALT+TABキーを押してしまうのですが、ゲーム画面からデスクトップに強制的に戻されてしまいます。 なのでALT+TABを無効にしたいです。 いろいろ調べてみたのですが、ALT+TABを無効にするのは簡単なことではないのでしょうか?パソコンには詳しくないのですが、コントロールパネルあたりから自由に設定できるものだと思ってたのですが・・。 一応前回の質問(ショートカットを無効にするには?)という質問で、 http://www.forest.impress.co.jp/article/2004/02/26/okiniiri.html と http://www.vector.co.jp/soft/winnt/util/se289930.html のソフトを紹介してもらったのですが、うまくいきませんでした。 ※パソコンはソニーVAIOのノートパソコンでWIN XPです。

  • Windows7 でAlt+Tab不能

    自作PC Windows7 Home Premium 64bit です。 AthlonX2 5200/ 4GB RAM 以下のような症状が発生して困っています。 あまり見たこと無い症状ですが、対処法など何かご存知の方あれば教えてください。 症状(1)複数のアプリのウインドウを開いている時に Alt + Tabキーを押下しても何事も起こらない。(タスク一覧も出ない)Altキー、Tabキー共に単独では正常に動作します。また、左右のAltキーのどちらでもダメです。ちなみに Windowsキー+Tabのフリップは正常です。 症状(2)同じく複数のアプリのウインドウを開いている時にタスクバーのアイコンを左クリックしても、同じく何も起こらない。(タスクが切り替わらない) おかげで、フルスクリーン表示したブラウザの位置をいちいちずらしたり、最小化したりしないと別のアプリにフォーカスできません。 ウイルス対策ソフトもちゃんとインストールしています。 復元しろとか、リカバリーしろという回答は結構です。 最終的にはそうしますので。

  • Delphi7でのキーボードの制御について

    はじめまして。 Delphi7 + Interbase7でC/Sシステムを開発しているアクアと申します。 テキストボックスに入力した値(数値)をキーボードの↑↓(もしくはテンキーの+-)ボタンによって 入力した値を↑(プラス1)、↓(マイナス1)したいのですが、↑↓キーの判断が分かりません。 KeyPressイベント中で、もし↑キーが押されたら値をプラス1、↓がおされたらマイナス1をする為には、 どー言うコードを書いたらよろしいでしょうか? もしくは、キーボードのキーをプログラム中で判断する為のコード等がありましたら、教えてください。 よろしくお願い致します。

  • tabキーで移動するフォーム

    tabキーで次の項目に移動するフォームを作りたいのですが、 (ホームページビルダー使用) なぜかtabキーを押しても何の反応もありません。 何か特別なタグが必要なのですか? 試しにHTML講座にあるサンプルメールフォームのタグをコピー&ペーストしましたが、これも移動しませんでした。(講座上では移動する)

    • ベストアンサー
    • HTML
  • TABキーの機能が変わってしまいました

    TABキーを入力すると¥が入力されるようになりました。その症状が発覚する前に意図的にシステムやIMEを操作した覚えがないので、どのようにすれば元に戻るのかわからず困っています。 テンキーにもTABがついているのですがこれも全く同じ症状が出る、Shiftを推しながらTABを押すと|が出てくるため完全に¥キーの機能がTABにコピーされたように思えます。Alt+TABでウィンドウの切り替えができていたと思いますがやはりそれも機能しません。 ちなみに¥キーを押してもTABの代わりにはならず¥が入力されます。 OSはWindows10、IMEはWindows標準のもので富士通のノートPCです。

  • Alt+Tabで表示されないブック

    お世話になります。 WindowsXP/Office2003を使用しています。 アクティブなアプリケーションをキーボードから選択する場合に Alt+Tabキーを使用します。 Office2002を使用していたときは、選択の際に、開いているブックが個別に選択できたのですが、2003にしてからは、[Excel]があるだけで、それぞれのブックを個別に選択できません。 ブックを変えるときはツールバーのウィンドウ(W)から選択しなければいけません。 設定を変えることでAlt+Tabでの個別ブック選択が可能になるのでしょうか。 また、別のPCでブックを開いたとき、新しいウィンドウで複数開いてしまう(A.xls:1とA.xls:2)こととなにか関係があるのでしょうか。 ご教示くださいますよう、よろしくお願いいたします。