なんとか自力で頑張ろうとはしているのですが...。今回お尋ねしたいのは、ウィンドウのサイズの設定方法です。いっても、「ウィンドウサイズをドラッグで変更できるようにする」的な意味ではありません。東方projectの、【東方星蓮船】から(だったっけ?)で出てきたような、ウィンドウ作成前にダイアログが出てきて、ラジオボタン形式でウィンドウのサイズを設定させるような形式がやりたいです。言われたらひとたまりもないのですが(反論のしようがない)、できれば東方のような形式にしたいのです。ラジオボタン」で調べてみましたが、よさそうなサイトは見つかりませんでした。返答よろしくお願いします。誤字や矛盾を指摘したい奴から、前に出てこいよぉおおおおおおおッ!!!※都合により、不定期でしか現れません。東方はまともにプレイしたことが無いですが、大体想像はつきました。イメージが違ったらすいません。普通にウィンドウでいいと思いますが。ウィンドウのサイズを指定するためのウィンドウを作り、指定されたらウィンドウを閉じて新しいウィンドウをその設定サイズで作成すれば良いと思います。環境が明記されていないので憶測ですが、DXライブラリを使っているのでしょうか。DXライブラリでウィンドウを作ったり閉じたりする方法は知りませんが、隠し関数辺りにあるんじゃないでしょうか。DXライブラリではWindowsのコントロールは使えない(たぶん)ので、ダイアログのウィンドウはDXライブラリを使わずに自分で実装した方がいいかなと思います。コントロールを実装するかの二択ですかね。環境が明記されていないので憶測ですが、DXライブラリを使っているのでしょうか。DXライブラリでウィンドウを作ったり閉じたりする方法は知りませんが、隠し関数辺りにあるんじゃないでしょうか。DXライブラリではWindowsのコントロールは使えない(たぶん)ので、ダイアログのウィンドウはDXライブラリを使わずに自分で実装した方がいいかなと思います。はい、DXライブラリのほうを使っております。イメージもあっております(多分)。フローチャートは脳内作成済みです。できればWindowsの方で―例えば先ほどのMassageBox...のような―が個人的に望ましいのです。誤字や矛盾を指摘したい奴から、前に出てこいよぉおおおおおおおッ!!!※都合により、不定期でしか現れません。APIを学びたい、という事ですね。DXライブラリを使わずに自分でウィンドウを作れるようになる必要があります。(もし私が知らないだけでDXライブラリでWindowsコントロールを描画できる方法があればそれでも良いでしょうが、結局ラジオボタンもウィンドウの1つなので同じことだと思います。APIの基本中の基本であるウィンドウ作成から学ぶべきです。作成」などと検索すれば、幾らでもサイトが出てきます。自分でウィンドウを表示出来るところまで調べて実践してみてください。してもわからない事、エラーで悩んだりするようならばこのトピックで相談に乗りますので、自分でやってみましょう。Microsoftのサイトもウィンドウの作成くらい日本語で書かれているはずです。5年前ありがとうございます!では、さっそく勉強してきます。誤字や矛盾を指摘したい奴から、前に出てこいよぉおおおおおおおッ!!!※都合により、不定期でしか現れません。5年前...その前に、どうしようもないバグに直面してしまいました。同じウィンドウ関係なので、ここにそのまま投稿します。私は口で説明するのが下手なので、似たような(というかほぼ同じ)投稿のリンクを張ります。読んでも理解不能です。調べてみてもさっぱりわかりません。【ウィンドウスタイル】どうすればいいのでしょうか...。誤字や矛盾を指摘したい奴から、前に出てこいよぉおおおおおおおッ!!!※都合により、不定期でしか現れません。申し訳ないですが、前者に関してはDXライブラリの範疇なようなので私にはわかりません。リンク先でも解決していないようですし、そちらは別トピック(更に言うならここではなくDXライブラリ本家の掲示板)で原因を追求したほうが良いかと思います。こちらを参照して下さい。http://msdn.microsoft.com/ja-jp/library/cc410713.aspx第三引数にウィンドウスタイルを渡します。これは定義されたマクロ(WSから始まる)を、ビット論理和演算子で連結することで複数指定できます。WS_CAPTIONを指定し、更にWS_SYSMENUを指定した上でWS_MINIMIZEBOXを指定すると、最小化ボタンガウィンドウに追加されます。逆に言えば、これを指定子なければ良いだけの話です。最大化もさせないのなら、WS_MAXIMIZEBOXを指定しなければ良いです。5年前>私は口で説明するのが下手なので、似たような(というかほぼ同じ)投稿のリンクを張ります。結果、すでに修正されたものが配布されていて解決にいたっているように読み取れます(page1で修正の告知がされています)。以下をご確認されてみてはどうでしょうか?(1)お使いのDXライブラリのバージョンが古くないか⇒古ければ上げてみる上記リンクの件は2011年のものですので、かつ当時に修正されているので、まったく同じ事象が再発するとは考えにくいように思います。HomeEdition)ではウィンドウを最小化しても事象は発生しません。(2)ChangeWindowModeやSetGraphModeが何度も呼ばれる実装になっていないか?⇒特に、画像ロード後にこれらを呼び出すような実装になっていたら、それは誤りです。これらを呼び出すと、それまでに確保していたグラフィックデータハンドルやフォントハンドルが削除されます(DXライブラリの仕様です)。新ゝ月さんがおっしゃられているように、DXライブラリ公式サイトで質問されるのがよいと思います。回答ありがとうございます。DXライブラリを使うと、これでウィンドウを表示させるのです。ソフトの終了}(サンプルリファレンスよりそのまま引用)なので、CreateWindowでの設定・・・ができない(?)のです。情報ありがとうございます。誤字や矛盾を指摘したい奴から、前に出てこいよぉおおおおおおおッ!!!※都合により、不定期でしか現れません。「モーダルダイアログ」を用いて設定させるのがいいと思います。(1)お使いのDXライブラリのバージョンが古くないか(2)ChangeWindowModeやSetGraphModeが何度も呼ばれる実装になっていないか?(※一部省略しました・アメヒルネ)(1)に関しては、最新版に変えてはみましたが治りません。環境のほうは下に明記しておきます。(2)は、チェックしましたが見当たりません。因みに、デバッグ実行時には何も異常はないのですが(再描写までの時間が異様に長いだけ...だいたい5秒くらい)、Releaseした.exeファイルでテストすると、このバグが発生します。誤字や矛盾を指摘したい奴から、前に出てこいよぉおおおおおおおッ!!!※都合により、不定期でしか現れません。最小化を禁止したいのはDXライブラリを使うウィンドウの方でしたか。5年前とりあえず、DXライブラリの問題は本来のトピックの内容とずれますから、別トピックを立ててそちらで相談すべきだと思います。内容に関してわからなければこちらのトピックに引き続き書き込んで頂いて問題ありません。調べてみてもさっぱりわかりません。【ウィンドウスタイル】どうすればいいのでしょうか...。SetWindowLong関数を用いることで最小化ボタンを消すことはできましたが、WinTを用いた最小化は防げないようです...メッセージのフックのコードを書いてもダメでした。皆さん、返信ありがとうございます。新々月さん≫そうですね。みけCATさんからひとまず対応策を教えて頂いたので、とりあえずこの件は保留としたいと思います。みけCATさん≫ソースコード提供ありがとうございます。「モーダルダイアログ」に関して、無視していたわけではありません。(モーダルダイアログに関してちょっと勉強してたんですよー)下記のコードをC&Pしてデバッグしたところ、確かに最小化ができなくなっておりました。ひとは現れないでしょうから...。本当にありがとうございます!!(...コードの意味が分からなさすぎて頭の中が爆発した、なんて言えない。)このトピックでは、引き続きAPIの質問トピックとして続けさせていこうと思います。誤字や矛盾を指摘したい奴から、前に出てこいよぉおおおおおおおッ!!!※都合により、不定期でしか現れません。5年前へえ、DXライブラリにメッセージフックのAPIがあるんですね。APIの勉強始める訳ですし、目的のウィンドウを自分で作る頃にはみけCAT氏のコードが理解できるくらいにはならないといけないですね。;というのもあるけど、これでは不足かな。ew&no=3165だけだけど。元々のウィンドウサイズ指定の案としては、アプリを分けるという方法もあると思う。設定用のアプリを作って、そのアプリで設定ファイルを書き換えてメインのアプリを起動して自分は終了するようにする。設定用のアプリでは、どのような方法でユーザーにサイズを選ばせてもOKだし。;というのもあるけど、これでは不足かな。ew&no=3165だけだけど。そんなものがあったのですか。元々のウィンドウサイズ指定の案としては、アプリを分けるという方法もあると思う。設定用のアプリを作って、そのアプリで設定ファイルを書き換えてメインのアプリを起動して自分は終了するようにする。設定用のアプリでは、どのような方法でユーザーにサイズを選ばせてもOKだし。設定ファイルじゃなくて、メインのアプリを起動するときのオプションで分けてもいいけどね^^(その場合、オプション指定なしでメインを起動された場合は、設定用アプリを起動して終了するようにするとかね)アプリを分ける、ですか。面白い考え方だと思います。誤字や矛盾を指摘したい奴から、前に出てこいよぉおおおおおおおッ!!!※都合により、不定期でしか現れません。5年前>ただちょっと面倒かなー...。思うので私個人の感想なのですが、DXLibとWinAPIを併用してウィンドウクラスを制御(?)するのは、yukiriさんの提示してくださってるやり方より、敷居が高そう(面倒そう)に思います。私も結果どうなるのか興味がありますので、頑張っていただきたいですね(^^;参考までに、私がやってる方法も紹介します。私の場合は、yukiriさんの考え方と似ていて、ゲームアプリと、ゲームを再起動するためのアプリを用意してます(どちらもDXLibを利用してます)。ウィンドウの選択は、ゲーム本編にコンフィグ機能として実装してます。1.ゲームで、コンフィグ変更されたら、再起動用アプリを起動して、自分自身は終了。2.再起動用アプリは、ゲームアプリを起動して、自分自身は終了。>因みに、デバッグ実行時には何も異常はないのですが(再描写までの時間が異様に長いだけ...だいたい5秒くらい)、>Releaseした.exeファイルでテストすると、このバグが発生します。この件は、致命的な不具合を抱え込んでそうな気がします。参照してはいけないメモリを参照してるのでは?いずれにせよ、プログラムの規模が小さいうちに原因解明&解決されることを祈ります。5年前うぉぅ...そうなんですか。(・_・;)まあ、最近は忙しくてなかなか手が尽きませんが、頑張ってみます。>1.ゲームで、コンフィグ変更されたら、再起動用アプリを起動して、自分自身は終了。>2.再起動用アプリは、ゲームアプリを起動して、自分自身は終了。想像がつかないのです。誤字や矛盾を指摘したい奴から、前に出てこいよぉおおおおおおおッ!!!※都合により、不定期でしか現れません。