トップページ
ひらく | たたむ | ページトップ
↓マウスで反転選択した文字を検索
Win32API
   
ページ内検索 ページ外検索
検索したい文字を入力して
ENTERを押すと移動します。
\n
[ トップページ ]
[ ____CommandPrompt ] [ ____JScript ] [ ____MySQL ] [ ____Cygwin ] [ ____Java ] [ ____Emacs ] [ ____Make ] [ ____Perl ] [ ____Python ] [ ____OpenGL ] [ ____C# ] [ ____StyleSheet ] [ ____C++ ] [ ____Winsock ] [ ____Thread ] [ ____VisualStudio ] [ ____C ] [ ____Win32API ] [ ____Lua ] [ ____PhotoShop ]
ヘッダ検索
___

■ 色々遊ぶ


___

■ Windowを常に最前面に表示する

SYNTAX DESC オーバーラップウィンドウ ポップアップウィンドウ 子ウィンドウのいずれかを拡張スタイル付きで作成します 拡張スタイルが指定できること以外は CreateWindow 関数と同じ

  HWND hWnd = CreateWindowEx(
                    // Style に "WS_EX_TOPMOST" を指定
                    WS_EX_TOPMOST,

                    // 後は同じ
                    ...

___

■ 透明なWindow.をつくる


  typedef BOOL __stdcall SETLAYER( HWND hwnd, COLORREF crKey, BYTE bAlpha, DWORD dwFlags );


  SETLAYER    *SetLayeredWindowAttributes;


  HINSTANCE   hDllInst;

  // USER32.DLLからWindows2000で拡張された関数を取得する
  hDllInst = LoadLibrary("user32.dll");

  if( hDllInst == NULL ){
    MessageBox( NULL, "USER32.DLL の読み込みエラー","Error", MB_OK );
    return( FALSE );
  }

  SetLayeredWindowAttributes =
    (SETLAYER *)GetProcAddress( hDllInst, "SetLayeredWindowAttributes" );

  if( SetLayeredWindowAttributes == NULL ){
    MessageBox( NULL, "SetLayeredWindowAttributes()関数のポインタが取得できませんでした。
                      Windows2000ではない可能性があります","Error", MB_OK );
    return( FALSE );
  }


  // 作成した Window を透明にする
  HWND hWnd = CreateWindow( ... );

  long sty = GetWindowLong( hWnd, GWL_EXSTYLE );
  sty |= 0x00080000;
  SetWindowLong( hWnd, GWL_EXSTYLE, sty );

  SetLayeredWindowAttributes( hWnd, 0, 128, 2 );



NINJAIDX 17