トップページ > 過去ログ > 記事閲覧
メニューバーの非表示
名前:ますお 日時: 2011/03/22 15:34

初めて利用させていただきます。よろしくお願いします。 メニューバーについての質問です。 メニューバーの右端に×ボタンを設置して、それを押すことでメニューバーを非表示にしたいのですが、どのようにすればいいのでしょうか? またメニューバー付近にマウスを近づけることでメニューバーを再表示できるようにもしたいと思っています。 ご教授のほどよろしくお願いします。

Page: 1 |

Re: メニューバーの非表示 ( No.1 )
名前:いっち 日時:2011/03/23 00:05

ますおさんのおっしゃる「メニューバー」とは SetUseMenuFlag を使って表示するメニューバーのことでしょうか? それとも、すべて自前でメニューを実装するのでしょうか?
Re: メニューバーの非表示 ( No.2 )
名前:ますお 日時:2011/03/23 02:22

迅速な返信ありがとうございます。 AddMenuItem_ID( NULL, "ファイル(&F)" ,1) ; のようにして追加しているだけで、SetUseMenuFlag などは全く使用しておりません。 また、SetUseMenuFlag を使わなくても表示されるのですが、これだとまずいのでしょうか?
Re: メニューバーの非表示 ( No.3 )
名前:いっち 日時:2011/03/23 21:19

> また、SetUseMenuFlag を使わなくても表示されるのですが、これだとまずいのでしょうか? いえ、特に問題ありません。 ただ、DXライブラリの機能として用意されているメニューバーの制御はDXライブラリが行っているので、 そのメニューバーに×ボタンを設置するといったことは出来ないと思います。 また、マウスの位置を監視して SetUseMenuFlag を使えばメニューの表示/非表示を制御することは可能だと思いますが、 フルスクリーンモードとウィンドウモードではメニューの挙動が若干違いますので気をつけてください。 管理人さん> フルスクリーン時にメニューバーがうまく描画されないようです。 お手数ですが調査をお願いします。 //- 以下、テストコード -// #include "DxLib.h" int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int ) { // ChangeWindowMode( TRUE ); // ウィンドウモードは問題なし if ( DxLib_Init( ) == -1 ) return -1; AddMenuItem_Name( NULL, "MENU" ); AddMenuItem_Name( "MENU", "QUIT" ); SetUseMenuFlag( TRUE ); SetMouseDispFlag( TRUE ); SetDrawScreen( DX_SCREEN_BACK ); while ( ProcessMessage( ) == 0 ) { ClearDrawScreen( ); DrawFormatString( 0, 50, 0x00ffffff, "Test %d %d", GetDisplayMenuFlag( ), GetUseMenuFlag( ) ); ScreenFlip( ); } DxLib_End( ); return 0; }
Re: メニューバーの非表示 ( No.4 )
名前:管理人 日時:2011/03/27 17:24

既存の機能ではメニューバーの右端に×ボタンを配置することはできません > いっちさん DirectX9 のフルスクリーンモードでメニューバーの表示と Direct3D9 による 描画結果とを共存させる正しい方法についての情報を見つけることができませんでした 大変申し訳ありませんがフルスクリーンモードでのメニューバーの表示は対応することができそうもありません すいません・・・ # このお書き込みをご覧の方でもし DirectX9 でメニューバーを正常に表示する方法について # ご存知の方がいらっしゃいましたら、教えていただけないでしょうか? # よろしくお願いいたします
Re: メニューバーの非表示 ( No.5 )
名前:いっち 日時:2011/03/28 22:40

> 大変申し訳ありませんがフルスクリーンモードでのメニューバーの表示は対応することができそうもありません Ver3.01ぐらいのDXライブラリでは問題なかったので、思っていたよりも深刻そうで驚きました。 個人的には標準のメニューバーをほとんど利用しないので、全く問題ありません。 こちらこそお力になれず申し訳ないです。

Page: 1 |