タグ

RioWidgetProjectに関するmirakuiのブックマーク (4)

  • ピクセル単位で透過設定を持つForm

    ピクセル単位で透過設定を持つForm 2003/12/12 いわゆるUpdateLayeredWindow()の使用方法。なんでこれが標準で用意されてないのでしょう? Formが持つOpacityとの違い おそらくForm.OpacityはSetLayeredWindowAttributes()を使用していると思われます。この関数は非常に手軽にレイヤードウィンドウを実現できますが、小回りが効きません。対するUpdateLayeredWindow()はビットマップを元にレイヤードウィンドウを作ります。これはボタンを初めとするGUIを扱うことは出来ません(実際配置されておりアクセスすることも可能ですがWindowsが描画をしないため自分で実装する必要があります。Formのイメージをとる方法についてはFormをコピーを参照してください。)が単一イメージを表示するデスクトップアクセサリにはむしろ優

  • PinMarch: 影付きウィンドウ(Layered-window)

    « 10.10 影付きウィンドウ | ココ | 10.12 ミント初潜入 » 2006年10月11日 影付きウィンドウ(Layered-window)   お陰で、レイヤーだと分かっただけ良しとしよう。 …というわけで、「レイヤードウィンドウ(layered window)」について調べる。 関連する主だったAPIは… SetLayeredWindowAttributesUpdateLayeredWindow てなところか。 まぁ、技術的には透過ウィンドウが可能になったWin2000からあるもんだから、資料は古いのばっかりなんですが(あぁ、それだけ僕は浦島太郎状態になってるってことなんだね)。でも、SetLayeredWindowAttributes()に関しては、VB.NET 2003では既にTransparencyKey, Opacityで実装がされているので、触ったことがないわけで

  • http://azumaya.s53.xrea.com/index.php?page=doc/win32api/layeredwindow

    mirakui
    mirakui 2006/10/25
    半透明の不定形ウィンドウはレイヤードウィンドウというのを使うらしい。
  • MASATOの開発日記: 背景が透明なウィンドウの作り方(1/2)

    背景が透明なウィンドウの作り方(1/2) 環境 Visual C++.NET 2003 ライブラリ MFC 7.1 OS Win2000以降 以下のような背景が透明なウィンドウの作り方です。 ウィンドウの透明な部分をクリックしても、ちゃんと応答するウィンドウになるようにします。 まず、どの方法を使って実現するか考えてみます。候補を以下に挙げてみます。 SetWindowRgnによりウィンドウを変形させる方法 PaintDesktopにより壁紙をウィンドウに表示する方法 レイヤードウィンドウにして透明にする方法 先頭から一つずつ検討してみます。 SetWindowRgnによりウィンドウを変形させる方法。 BeginPath/TextOut/EndPathでテキストの形をしたリージョンが作成できるようなので、これを使い、文字の形をしたウィンドウにすれば上手くいきそうではあるのですが、 文字以外

  • 1