• 締切済み

C++とWin32APIでタブコントロールを作成するには

C++のWin32APIで、MFCを使わずに、 ダイアログボックスの中にタブコントロールを実装したいのですが、 その方法が解らず困っています。 とりあえずウインドウにタブコントロールを 付ける事まではできたものの、 (MFCを使用しない方法で)ダイアログボックスの中に 表示させる方法が見つからないのです・・・。 VisualStudioを使用しているので、 ツールボックスの中にある「Tab Control」というものを ダイアログボックスの中に貼り付けてみましたが、 [Tab1]~[Tab5]までありますが見た目上だけのものなので、 当然実行してもそこには何もありません。 (項目も、タブを切り替える処理も追加してないので 当たり前ですよね^^;) この方法はやはりMFCを使用しないと無理なのでしょうか? もし方法がございましたら、どうかご伝授をよろしくお願いします

みんなの回答

  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.1

とりあえず、猫でもわかる~のタブコントロール編です。

参考URL:
http://www.kumei.ne.jp/c_lang/sdk/sdk_69.htm
hiroko_ss
質問者

お礼

残念ながらダイアログボックスの中じゃないですね。

関連するQ&A

  • VC++ タブコントロールについて

    以下の環境にてタブコントロールを実装しようとしています。 ・VisualStudio2008 VC++ ・ネイティブ(.NET未使用) ・ダイアログベース、スタティックライブラリ タブを表示させるメインダイアログと他に、子ダイアログ3つを用意して タブが押されたときに表示をON/OFF(ShowWindow使用)させるものを作ったのですが、 以下の問題が出ています。 うまい対策または、タブコントロールの文献で参考になるサイトを教えてください。 [現象と質問] ・メインダイアログを移動させると子ダイアログが追従しない。  → OnPaint()にてOnTcnSelchangeSelectTab()を呼ぶようにしたら追従しましたが、    すばやくダイアログを動かすと、子ダイアログが遅れてついてくるように見えてしまいます。    子ダイアログを追従させるうまい方法(本来のやりかた)はどうすればよいでしょうか。 ・子ダイアログをクリックすると、メインダイアログのタイトルが薄くなる(裏に隠れるような感じ)。  → メインダイアログと子ダイアログのプロパティの組み合わせでなんとかなると思っていますが、    どのようにしたらいいのか、てこずっています。    アドバイスをいただけたらと思います。

  • VisualStudio .Net リソースエディタでタブコントロール利用方

       VisualStudio .Net で C++ を使ってプログラミングを始めてました。  ダイアログの中に『タブコントロール』を入れたいのです。  リソースエディタで、ダイアログ中にタブコントロールを入れると 5枚のタブが入っているようなのですが、これって見せかけですよね。  『タブコントロール』のプロパティを見ても、実際の内容(ダイアログか?) と関係つける属性が見つかりませんでした。  過去の投稿を調べましたが、よくわかりませんでした。  リソースエディタで、タブコントロールに関係付ける方法があるのでしょう か? それとも、やっぱりコーディングで関係付けるのが正解なのでしょうか?  ご教授をお願いします。  

  • タブコントロールについて教えてください

    VB.net2003で開発しています。 タブコントロールを使用してメニュー画面を作成したいと考えています。 処理ごとにタブを分けて各タブ毎にボタンを貼り付けて、ボタンをクリックしたら該当のプログラムが起動するようにしたいのです。 1つのタブに最大30個のボタンを作成するので、コントロール配列を使用して、動的にボタンを貼り付けようと思うのですが個々のタブのページにコントロールを貼り付ける方法が分かりません。 色々調べた結果パネルコントロールなどでは、Panel.Control.AddRange(配列名)でパネルにコントロールを貼り付けることが出来るみたいなので、同じような感じで、testTab.Tabpages(i).Control.AddRange(配列名)としたのですが、うまくいきませんでした。 タブコントロールにコントロールを貼り付ける方法を教えてください。 よろしくお願いします。

  • VS2013でTabControlが無い

    VisualStudio2013でMFCを使ってWindowsアプリケーションを開発しています ダイアログの中に「タブコントロール」を入れようと思ったのですが 「ツールボックス」内の「ダイアログエディター」の中にタブコントロールがありません。 とりあえず、別バージョンの時に作成したリソースから「タブコントロール」をコピペ することができ、コンパイルも通るのでプロジェクトの設定では無いと思います。 なんとか、「ダイアログエディター」内に表示させる方法はないでしょうか? おわかりになられる方がいらっしゃいましたら、よろしくお願いします。 補足: 「ツールボックス アイテムの選択」はいじってみました、「TabControl」にチェックがついている のですが、表示されません。

  • ダイアログボックスのタブコントロールの使い方について

    開発環境 VC++.net Win32プロジェクト→Windowsアプリケーション ダイアログボックスにTab Controlでタブページを貼り付けて ページ切り替えを行おうと思っているのですが タブを貼り付けるだけでは、上手くいかなく困っています。 『Tab 1』に『Static Text』を貼り付けて 『Tab 2』を選択しても、貼り付けた『Static Text』は消えることなく そのまま表示され続けます。 やはり、別で『Tab 1~5』までのダイアログを作成しないといけないのでしょうか? 知っている方いましたらご教授お願い致します。

  • MFCでのタブコントロールについて

    MFCでタブコントロールを使用しようとしたのですが,使い方がわかりません。 ヘルプや参考書で調べてみても、いまいちわかりません。 タブを追加するにはどうすればいいのでしょうか? また,タブを選択することでテキストを表示したいのですが, それはどこで設定すればいいのでしょうか? ※参考となるサイトがあれば教えてください。

  • タブコントロールに貼り付けられたコントロールの移動

    VB2008でタブコントロールに貼り付けられたテキストボックス等の移動について悩んでいます。 現在、タブコントロール内にタブが3ページありますが、 1ページ目に貼り付けたコントロール(ラベルやテキストボックスなど)を2ページ目にプログラム的に移動するにはどうすればいいのでしょうか。 デザイナであれば簡単なのですが、プログラムで行おうとすると 「move」に相当するようなものが見あたらず、困っています。 移動したものをプログラム終了後も保存しておく必要は無く、起動時にユーザーの好みのタブに表示させたいという目的で使用するつもりです。

  • タブコントロール上のピクチャーコントロールへの描画

    お世話になっております。 VC2005を使用しております。 SDIベースです。 ダイアログを作成し、その上にタブコントロール(2ページ)を作成しました。 タブコントロールの1ページ目にピクチャーコントロールを配置し、ピクチャーコントロール上に描画を行おうと思うのですが、正常に動作しません。 OnPaintの中で描画を行っているのですがだめのようです。 タブコントロール外に、ピクチャーコントロールを配置すると描画する事ができます。 どのような、タイミングで描画を行えばよいのでしょうか? 教えてください。 よろしくお願いします。

  • タブコントロール上のリストコントロール(再描画されない)

    VS2005 SP1のMFCでプログラムを作成しています。 OSはWindows XP SP3です。 タブコントロールを使用したダイアログベースです。 タブの切り替えによりコントロールを配置した子ウィンドウ(実際はダイアログ)を表示させたり、非表示にさせたりしています。 ■配置と親子関係 ダイアログ:(1)  ↓(の上に) タブコントロール:(2)((1)が親)  ↓(の上に) ダイアログ:(3)((1)が親)  ↓(の上に) リストコントロール:(4)((3)が親) ■現象 本プログラムを別のウィンドウで隠し、ALT+TAB等で、フォアグラウンドに持ってきた場合に、(4)のリストコントロールが再描画されません。 ※リストコントロールでアイテムを選択した状態でないと発生しない模様 ただし配置と親子関係で示した構成は2組あり、1組はリストコントロールのリソースプロパティで、TransparentをTUREにすることにより現象が解消されました。(たぶん最後にリストコントロールが描画されるようになった) しかし、2組目は同じ対策をとっても現象が起こってしまいます。 画面切り替わり時によくみていると、リストコントロールが一瞬みえてから消えてるので、別の何かが上書き描画により消えていると思われます。 対策として、 OnPaint()にてリストコントロールをInvalidate()すれば解消されることはされるのですが、ツールバーにツールチップが表示するだけで、リストコントロールの再描画が発生してチラつきます。 説明が長くなってしまいましたが、どなたか良い解決策をご教授お願いします。 最後まで読んで頂き、有難う御座います。

  • VC++ のタブオーダーについて

    親ダイアログにタブコントロールを貼り付け、その中でエディットボックスや リストボックスで入力出来るようになっています。 タブコントロールの中でのタブ移動はタブオーダーの順に進むのですが、 親ダイアログにあるOKボタン、キャンセルボタンにタブキーで移動が 出来ません。(フォーカスが飛んでくれません) ダイアログのプロパティでコントロール、親ダイアログの管理など やってみたのですが、分かりません。組み合わせが悪いのでしょうか? よろしくお願いします。