使用に同意するものと見なされます。コード提供終了済みコンテンツ申し訳ありません。リクエストされたコンテンツは削除されています。自動的にリダイレクトされます。C++質問0サインインして投票お世話になります。CMFCRibbonBarの切替えについてご教示ください。ボタンを押下する毎にCMFCRibbonBarの切替えをしたいです。やりたいこと:AとBのリボンがあり、起動時はBのリボンを表示した画面を作成。Aボタンが押下された場合はAのリボンを表示。Bボタンが押下された場合はBのリボンを表示。いうように、リボンの切替えを行いたいのです。どのように行えばよいかご教示いただけますか。C++で作成しています。回答0サインインして投票ウィンドウの構築(ロード、初期化を含む)は高コスト(時間と手間)です。従って、ユーザーにモードレスなウィンドウを操作できない様にする二つの方法、つまり(1)破棄(DestroyWindow();)する(再度表示するには再構築しなければならない)。SW_HIDE);)にする(非表示になっているだけなので表示させれば元通り)。うち、一般には(2)の手段が利用されます。本件の場合、AとBのリボンは両方構築し、一方を「表示」し他方を「消去」することになります。これを行うには、ABの両方のインスタンスを保持している必要があります。「表示」と「消去」の最も簡単な方法は、CWnd::ShowWindow()を使用することです。これだけだと、表示位置の問題が出るかもしれませんが、試してみる価値はあると思います。3:58返信|引用すべての返信0サインインして投票どこまでできているのか不明なのでコメントしづらいのではないでしょうか。(1)Aボタン、Bボタンの作成表示と、そのコマンド処理はできてますでしょうか。(2)次に、リボンバーでなくもっと簡単な、例えばモードレスのDLGや、ツールバー、クライアント領域に作ったボタン等でやった場合に、AB切り替えは万全でしょうか。ここまで、できていれば(あれば)リボンバー特有の問題について検討することができるかもしれません。様ご返信、ありがとうございます。(1)Aボタン、Bボタンの作成表示、そのコマンドの処理はできています。(2)は行ってないです。以下のことが行いたいです。起動時は以下を行います。CRibbonBarEx();ribbonBar->Create(this);ribbonBar->LoadFromResource(IDR_RIBBON_B);Aボタンが押下された場合はribbonBar->LoadFromResource(IDR_RIBBON_A);を行い、リボンの表示を変更したいと思っております。Aボタンが押下された場合に先に表示していたIDR_RIBBON_Bのリボンを削除してribbonBar->LoadFromResource(IDR_RIBBON_A);を表示したいのですが、IDR_RIBBON_Bのリボンの削除方法がわかりません。申し訳ありませんが、ご教示いただけますか。2:08返信|引用0サインインして投票ウィンドウの構築(ロード、初期化を含む)は高コスト(時間と手間)です。従って、ユーザーにモードレスなウィンドウを操作できない様にする二つの方法、つまり(1)破棄(DestroyWindow();)する(再度表示するには再構築しなければならない)。SW_HIDE);)にする(非表示になっているだけなので表示させれば元通り)。うち、一般には(2)の手段が利用されます。本件の場合、AとBのリボンは両方構築し、一方を「表示」し他方を「消去」することになります。これを行うには、ABの両方のインスタンスを保持している必要があります。「表示」と「消去」の最も簡単な方法は、CWnd::ShowWindow()を使用することです。これだけだと、表示位置の問題が出るかもしれませんが、試してみる価値はあると思います。