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


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0723
エレキ掃除機bgscrで作成したウィンドウを下にすりぬけさせれるようにするには1未解決


エレキ掃除機

リンク

2008/7/23(Wed) 13:06:45|NO.17561

bgscrで作成したウィンドウを下にすりぬけさせれるようにするにはどうすればいいでしょうか。
そうすれば画面を少し下記のスクリプトで擦りガラス風に出来ると思うので。

;出所忘却 ; ウィンドウの半透明化 ; !要 Windows 2k 以降 #uselib "user32" #cfunc GetWindowLong "GetWindowLongA" int, int #func SetWindowLong "SetWindowLongA" int, int, int #func SetLayeredWindowAttributes "SetLayeredWindowAttributes" int, int, int, int #define WS_EX_LAYERED $80000 #define LWA_COLORKEY 1 #define ULW_ALPHA 2 ; 簡易OS確認 if varptr (SetLayeredWindowAttributes) = 0 { dialog "Windows 2000/XP/Vistaでのみ使用できます。",4,"エラー" end } pos 200, 250:mes "↑透明度を調整することが可能です。" ; トラックバー用メッセージ WM_VSCROLL oncmd gosub *vscroll, $114 ; トラックバー (透明度調節) pos 200, 200 winobj "msctls_trackbar32", "", , $50000000 | $100, 200, 30 hTrackbar = objinfo (stat, 2) sendmsg hTrackbar, $405, 1, 100 ; 拡張ウィンドウスタイルにWS_EX_LAYEREDを追加適用 SetWindowLong hwnd, -20, GetWindowLong (hwnd, -20) | WS_EX_LAYERED stop *vscroll if lparam = hTrackbar { sendmsg hTrackbar, $400 ; 第3パラに透明度 (アルファ値の範囲 0〜255) bAlpha = 255 * stat / 100 SetLayeredWindowAttributes hwnd, , bAlpha, ULW_ALPHA } return



この記事に返信する


raisen

リンク

2008/7/23(Wed) 19:37:27|NO.17585

先頭に

screen 0 ax=ginfo(4) : ay=ginfo(5) gsel 0,2 bgscr 20,640,500,0,ax,ay color 255 : boxf gsel 0
常に最前面。



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