MDIで動的に作成したサブメニューの関連付けについて – プログラミング – Home

MDIで動的に作成したサブメニューの関...
 
通知
すべてクリア

[解決済] MDIで動的に作成したサブメニューの関連付けについて


ひろ
 ひろ
(@ひろ)
ゲスト
結合: 24年前
投稿: 149
Topic starter  

いつも参考にさせていただいております。
ひろともうします。

現在、MDIベースのアプリケーションを作成しています。
MDI子ウィンドウをオープンした時に、メインフレームの
メニューの内容が自動的に切り替わってしまいます。

例えば、MDI子ウィンドウをオープンする前に
メインフレームの右から2番目のサブメニューを動的に
作成したとします。
それをMDI子ウィンドウをオープンした時に
右から3番目のサブメニューにAttach?することはできるのでしょうか?

また、全てのMDI子ウィンドウを閉じた時に
元の位置のメインフレームの右から2番目のサブメニューに
戻すことはできるのでしょうか?

環境は Win2k、VC++6.0 SP5、MFC4.2 です。

よろしくお願い致します。


引用未解決
トピックタグ
ひろぴー
 ひろぴー
(@ひろぴー)
ゲスト
結合: 22年前
投稿: 182
 

> 例えば、MDI子ウィンドウをオープンする前に
> メインフレームの右から2番目のサブメニューを動的に
> 作成したとします。

コレはCMainFrame::OnInitMenu()で行っていますよね?
アクティブな子フレームが取得できますから、その結果により振り分けたらどうでしょうか?

面倒くさい場合は全部同じメニューにしちまうとか。
↑実際、選択したフレームによりメニューが変わるとユーザに分かり辛いという場合もあります
し(逃げですか?(ToT))

素朴な疑問なんですが、基準が右なのはどうしてですか?


返信引用
ひろ
 ひろ
(@ひろ)
ゲスト
結合: 24年前
投稿: 149
Topic starter  

ひろぴー様

返事が遅くなり、大変申し訳ございません。
仕事が火を噴いてしまい、重い軟禁(監禁?)状態だったもので。。。

メニューですが、OnInitMenuPopup()で振り分けできました。
ありがとうございます。

ついでで申し訳ございませんが、
今回、お気に入りのようなものを作ろうと考えています。
指定したあるディレクトリのサブディレクトリを
メニューに追加していきたいのですが、
ディレクトリはいつ追加や移動、削除されるかわからないので
OnInitMenuPopupで表示される直前に毎回チェックをしようと思ったのですが、
面倒くさいので全消滅後、全作成にしてしまったら
メニューが表示されるまで時間がかかりすぎてしまいます。

何かよい方法があったら教えてください。
よろしくお願い致します。

p.s. 左から数えると、6番目と7番目になります(笑)


返信引用
ひろぴー
 ひろぴー
(@ひろぴー)
ゲスト
結合: 22年前
投稿: 182
 

> 面倒くさいので全消滅後、全作成にしてしまったら
> メニューが表示されるまで時間がかかりすぎてしまいます。

ぬぬ、抽出に時間がかかっているなんてことはないですか?
自分も全削除/全追加をやりましたが、全く気にならなかったです。
他PCのアプリとのやり取りをしながら項目を追加していったので、表示までに結構時間がかか
るかな?と思ったのですが、それほどでもありませんでした。20個程度だったからかも。

市販のアプリでも、メニューからフォントを選べるようになっていて、表示までに結構時間がか
かっていたおぼえがあるので、数が多ければしょうがないのかな~と思っています。


返信引用
ひろ
 ひろ
(@ひろ)
ゲスト
結合: 24年前
投稿: 149
Topic starter  

ひろぴー様

遅いのは指定ディレクトリ内の全検索をするからですかねぇ。。
抽出時間をチェックしてみます。
ちなみにメニュー項目をクリックしてから表示されるまで
5秒くらいかかっています。

Explorerのお気に入りってどう作られているかなぁ?

ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました