Re: ウインドウモード変更時のデバイスリセットに関しまして ( No.1 ) |
- 名前:管理人 日時:2024/09/19 16:48
関数リファレンスには載っていませんが、SetChangeScreenModeGraphicsSystemResetFlag という関数を使用することで
ChangeWindowMode を使用してもロードした画像のハンドルが無効にならないようにすることができます
// 画面モード変更時( とウインドウモード変更時 )にグラフィックスシステムの設定やグラフィックハンドルを
// リセットするかどうかを設定する
// Flag : TRUE=リセットする( デフォルト ) FALSE=リセットしない
int SetChangeScreenModeGraphicsSystemResetFlag( int Flag );
使い方については注釈の通りですが、デフォルトでは TRUE の設定になっていますので、ChangeWindowMode を実行する前に
SetChangeScreenModeGraphicsSystemResetFlag( FALSE ); を実行していただければ ChangeWindowMode を
実行しても画像のハンドルが無効にならなくなります
よろしければお試しください m(_ _)m
|
Re: ウインドウモード変更時のデバイスリセットに関しまして ( No.2 ) |
- 名前:レモン 日時:2024/09/19 19:04
ありがとうございます。
教えて頂いた関数でハンドルが無効にならない事を確認できました
関連してもう一点なのですが、GetMouseDispFlag(TRUE) を一度行った後、何度か ChangeWindowMode でウインドウモードを変更すると
マウスポインタが消失し、GetMouseDispFlag() で得られる値が 0 (FALSE) になるのですが、こちらはバグでしょうか?
|
Re: ウインドウモード変更時のデバイスリセットに関しまして ( No.3 ) |
- 名前:レモン 日時:2024/09/19 19:07
連投ですみません、具体的には
フルスクリーン -> ウインドウ -> フルスクリーン ( ここでマウスポインタ消失 )
という状態になっています。
|
Re: ウインドウモード変更時のデバイスリセットに関しまして ( No.4 ) |
- 名前:管理人 日時:2024/09/20 02:46
> 関連してもう一点なのですが、GetMouseDispFlag(TRUE) を一度行った後、何度か ChangeWindowMode でウインドウモードを変更すると
> マウスポインタが消失し、GetMouseDispFlag() で得られる値が 0 (FALSE) になるのですが、こちらはバグでしょうか?
ChangeWindowMode( FALSE ); が実行された際にDXライブラリ内部で SetMouseDispFlag( FALSE ); を実行していますので、仕様となります
ご面倒で申し訳ありませんが ChangeWindowMode の実行後の箇所に SetMouseDispFlag( TRUE ); を記載するようにしてください m(_ _;m
|
Re: ウインドウモード変更時のデバイスリセットに関しまして ( No.5 ) |
- 名前:レモン( 解決 ) 日時:2024/09/20 03:22
承知しました、諸々の素早いご返答ありがとうございました、また何かありましたらご相談いたします
|