自ウィンドウの最小化 (タスクバー)


 HSP(HSP3)で用意できる自前のウィンドウを最小化してタスクバーに入れる方法です。標準対応のsendmsg命令を利用して、WM_SYSCOMMAND(ちょくとさん)というウィンドウメッセージを送信してやります。



#define WM_SYSCOMMAND $112
#define SC_RESTORE $F120
#define SC_MINIMIZE $F020


 screen 1, 300, 200, 4
 title "子ウィンドウ"


; ウィンドウハンドル取得
 hWindow = hwnd


 screen 0
 title "メインウィンドウ"


 button "切り替えー", *change


 stop


*change
 if check {
;  元に戻す
  sendmsg hWindow, WM_SYSCOMMAND, SC_RESTORE
 } else {
;  最小化
  sendmsg hWindow, WM_SYSCOMMAND, SC_MINIMIZE
 }


; 0、1のスイッチ 
check ^ 1


 sendmsg命令の第1パラメータには、操作対象となるウィンドウハンドルの値を指定します。ウィンドウハンドルというのは、HSPでいうところの「ウィンドウID」に相当するものです。HSPのシステム変数hwndで取得できます。