hinekure.net が http://hspdev-wiki.net/ から自動クローリングした結果を表示しています。画像やリソースなどのリンクが切れています。予めご了承ください。
半透明ウインドウ - HSP開発wiki
トップ    編集凍結 差分バックアップ添付複製名前変更リロード   新規一覧単語検索最終更新   最終更新のRSS
Everything is expanded.Everything is shortened.
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
//SetLayeredWindowAttributes APIによる
//ウィンドウの半透明化
//BOOL SetLayeredWindowAttributes(
//    HWND hwnd,           // レイヤードウィンドウのハンドル
//    COLORREF crKey,      // カラーキーを指定する構造体へのポインタ
//    BYTE bAlpha,         // ブレンド機能の値
//    DWORD dwFlags        // アクションフラグ
//);
 
#define alpha 180        ;alphaの値
#define WS_EX_LAYERED 0x80000
#define LWA_ALPHA 0x2
#include "llmod3/llmod3.hsp"
gosub *window_set
stop
 
*window_set
    gosub *setwndlong_set
    _return = hwnd,0,alpha,LWA_ALPHA    ;引数設定
    dllproc "SetLayeredWindowAttributes",_return,4,D_USER
    return
 
//ウィンドウの属性変更
*setwndlong_set
    _return = hwnd,-20,WS_EX_LAYERED
    setwndlong _return
    return
  • プロトタイプのコメントはどこかの引用っぽいですがCOLORREFは32ビット整数型であって構造体ではないはず・・・。MSDN??16ビット版だと構造体で実装されているとか??環境絡みは分かりません; -- kz3 2005-12-09 (金) 01:08:39
  • windowsプログラミング勉強中にこのAPI見つけたので、あまり深く考えずHSPに移植したんです;
    COLORREF構造体は構造体なのかは謎です。RGB3つの構造体なのかな? -- Charlotte 2005-12-09 (金) 20:01:55
  • 今調べると、RGBマクロがCOLORREF型で値を返すので、予想ですがwここでCOLORREF構造体を使っているような。。ワカランタイ -- Charlotte 2005-12-09 (金) 20:23:17
  • それよりも、HSPでのAPIの呼び出しはこれでいいのか不安です。 -- Charlotte 2005-12-09 (金) 20:25:18
  • どこかで(b<<16)|(g<<8)|rのような式でCOLORREF型にしていましたが、それぞれの値が8ビットを前提としていました。
    キャストやワーニングも考えるたSDKのヘッダにあるようにこんな風にしてマクロで実装されています。(32ビットSDK) -- kz3
      1
    
     
    
        #define RGB(r,g,b) ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(b))<<16)))

URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White

添付ファイル:
fileAlphaWindow.as
437件 [詳細]
トップ    編集凍結 差分バックアップ添付複製名前変更リロード   新規一覧単語検索最終更新   最終更新のRSS
Last-modified: 2013-08-02 (金) 15:55:53 (128d)