トップページ > 過去ログ > 記事閲覧
SetWindowVisibleFlag
名前:Don 日時: 2007/08/03 00:03

ウィンドウモードでゲームを作成しているのですが、メニュー等、そのまま起動した場合は徐々に表示されていきあまりきれいではありません。 そこで、SetWindowVisibleFlagを使い、メニュー等の処理を終えた後にウィンドウを表示させようと考えました。(以下ソース例) #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { //ウィンドウ設定 ChangeWindowMode(true); SetWindowVisibleFlag(false); //ライブラリの初期化 if( DxLib_Init() == -1 ) { return -1; } //メニューの生成 AddMenuItem_Name( NULL, "ゲーム(&G)"); AddMenuItem_Name( "ゲーム(&G)", "スタート"); AddMenuItem_Name( NULL, "ヘルプ(&H)"); AddMenuItem_Name( "ヘルプ(&H)", "バージョン情報(&A)"); SetWindowVisibleFlag(true); WaitKey() ; // キー入力待ち DxLib_End() ; // DXライブラリ使用の終了処理 return 0 ; // ソフトの終了 } しかし、実際表示させてみると、ウィンドウの下の部分に黒い帯が表示され、大部分のウィンドウが白くなって表示されました。 そこで、メニューの処理をはずして以下のソースで実行してみたところ、すべて白いウィンドウが生成されました。 背景色は特に設定していないので、描画領域がおかしくなったのかな?と思うのですが、原因はわかりません。 わかりにくいですが、解決方法等ありましたら教えてください。 よろしくお願いします。

Page: 1 |

Re: SetWindowVisibleFlag ( No.1 )
名前:管理人 日時:2007/08/07 13:24

Donさんはじめまして、DXライブラリの管理人です。 申し訳ありません、現在 SetWindowVisibleFlag は正常に動作しません。 AddMenuItem_Name は DxLib_Init の前に呼ぶことも可能ですので、 よろしければ以下のようにしてプログラムを実行してみてください。 #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { //ウィンドウ設定 ChangeWindowMode(true); //メニューの生成 AddMenuItem_Name( NULL, "ゲーム(&G)"); AddMenuItem_Name( "ゲーム(&G)", "スタート"); AddMenuItem_Name( NULL, "ヘルプ(&H)"); AddMenuItem_Name( "ヘルプ(&H)", "バージョン情報(&A)"); //ライブラリの初期化 if( DxLib_Init() == -1 ) { return -1; } WaitKey() ; // キー入力待ち DxLib_End() ; // DXライブラリ使用の終了処理 return 0 ; // ソフトの終了 }

Page: 1 |