HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0324
テンクス解像度を変えたフルスクリーン時のウィンドウ最小化について6解決


テンクス

リンク

2014/3/24(Mon) 11:28:34|NO.60897

題名のとおり、この場合どうすれば標準の解像度に戻して最小化できますか?
そのタスクがアクティブになったらまた解像度をフルスクリーンに戻したいです。



この記事に返信する


あり

リンク

2014/3/24(Mon) 13:15:05|NO.60911

この場合のフルスクリーンとは
どのような方法で作られた状態の事ですか?

また、最小化も色々な受け取り方ができるので
具体的なイメージを説明してください。



テンクス

リンク

2014/3/24(Mon) 13:25:30|NO.60914

失礼しました。
        chgdisp 1
bgscr ,,,,0,0

です。



テンクス

リンク

2014/3/24(Mon) 13:27:52|NO.60916

最小化は、タスクバーにウィンドウを収納することです。



あり

リンク

2014/3/24(Mon) 16:37:29|NO.60921

chgdispでの解像度変更はchgdisp 0で変更前に戻ります。

ウィンドウの最小化については、WM_SYSCOMMANDメッセージの
wParamにSC_MINIMIZEを設定してウィンドウに送れば可能ですが
詳しい事は『HSP ウィンドウ 最小化』等でネット検索してください。

以下サンプル。

#define WM_SYSCOMMAND $00000112 #define SC_MINIMIZE $0000F020 gsel 0, -1 bgscr 1, 640, 480 WinID = hwnd ; ウィンドウハンドル gsel 1, 2 button "終了", *exit button gosub "最小化", *Win_Minimize chgdisp 1, 640, 480 FS_Flg = 1 ; フルスクリーンフラグ(初期値1) *main if FS_Flg = 0 { ; HSPのウィンドウがアクティブになったら全画面化 if ginfo_act = 1 : gosub *Win_Restore } wait 500 ; 遅かったら減らしてください goto *main *Win_Minimize dialog "フルスクリーンを解除して\n最小化します" chgdisp 0 ; 解像度を初期状態に戻す gsel 1, 0 sendmsg WinID, WM_SYSCOMMAND, SC_MINIMIZE ; ウィンドウを最小化する FS_Flg = 0 return *Win_Restore dialog "フルスクリーンに戻ります" chgdisp 1, 640, 480 gsel 1, 2 FS_Flg = 1 return *exit chgdisp 0 end



テンクス

リンク

2014/3/25(Tue) 15:09:04|NO.60939

縮小化した後の処理をこのように組んでみたのですが、うまくいきません。


*saisyoukasuru chgdisp 0 ; 解像度を初期状態に戻す gsel 0, 0 sendmsg WinID, WM_SYSCOMMAND, SC_MINIMIZE ; ウィンドウを最小化する *mainaa if ginfo_act ! -1 : {;アクティブか判定してアクティブだったらFullクリーン wait 1 chgdisp 1, 640, 480 gsel 0, 2 }:return wait 1 goto *mainaa

これだとなぜかうまく縮小化するにもかかわらずアクティブになってもフルスクリーンになりません。
助けてください!



テンクス

リンク

2014/3/26(Wed) 17:14:13|NO.60978

自己解説しました。
ありがとうございました。



ONION software Copyright 1997-2023(c) All rights reserved.