トップページ > 記事閲覧
ウインドウの最大化で意図していない挙動をしてしまう
名前:IRI 日時: 2022/11/16 01:10

VS2022Community DxLib Ver 3.23 環境で作業をしています。 下記の記述を行うとウインドウの最大化ボタンを押しても、フルスクリーンにならなくなり、 > // ウインドウ最大化の設定 > DxLib::SetWindowMaximizeButtonBehavior(1/* 従来の最大化処理を乗っ取るために1を設定。WindowBehavior::Tick で制御 */); > DxLib::SetUseASyncChangeWindowModeFunction(true, nullptr, nullptr); DxLib::CheckWindowMaximizeButtonInput() を使用して最大化ボタンを押したかをチェックし、好きなように挙動を実装することが可能になると思うのですが、 特定の操作を行うと、プライマリモニターでフルスクリーンになってしまい困っています。 フルスクリーンにする操作は、 ・ウインドウのタイトルバーをマウスで掴み、移動可能な状態にする ・モニターの上部にドラッグし、フルスクリーンにするガイドが出たらドロップする ・プライマリモニターでフルスクリーンになることを確認する 自分の想定としては、いかなる操作でもフルスクリーンにならず、ウインドウ状態のままウインドウサイズの変更を行いたいと考えています。。 ですので、上記の操作を行っても DxLib::CheckWindowMaximizeButtonInput() が true を返し、自分が実装した挙動を実行できればと思っています。
メンテ

Page: 1 |

Re: ウインドウの最大化で意図していない挙動をしてしまう ( No.1 )
名前:管理人 日時:2022/11/17 00:55

すみません、色々試してみたのですが SetWindowSizeChangeEnableFlag( TRUE ); が実行されていてユーザーが ウィンドウのサイズが変更できる状態の場合、件の操作( ウィンドウのバーをモニター上部に移動して離す )を するとウィンドウが最大化してしまうのは避けられないようです… 申し訳ありませんが、SetWindowSizeChangeEnableFlag( TRUE ); を実行しないようにしてソフトウェア独自の処理で ウィンドウのサイズをユーザーが変更できるようにする等の方法を検討してみてください m(_ _;m
メンテ
Re: ウインドウの最大化で意図していない挙動をしてしまう ( No.2 )
名前:IRI 日時:2022/11/17 23:48

管理人さん ご確認ありがとうございます。 > 申し訳ありませんが、SetWindowSizeChangeEnableFlag( TRUE ); を実行しないようにしてソフトウェア独自の処理で > ウィンドウのサイズをユーザーが変更できるようにする等の方法を検討してみてください m(_ _;m いまエディターを作成していまして、、、その都合上 SetWindowSizeChangeEnableFlag を false にして運用するのが難しいです。 幸い、ウインドウのスタイルを変更して最大化をできない状態にし、ウインドウの移動や最大化などを独自で実装すれば目的の挙動を実装できそうです。 こちらの方法で実装を行ってみたいと思います。 改めてご確認を頂きありがとうございました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存