none
ウィンドウ内の位置関係を無視して多角形に分割したい RRS feed

  • 質問

  • CreatePolyPolygonRgnによってウィンドウを複数の多角形に分割する事が可能になりますが、さらに分割した個々の多角形の位置を変更したいです。
    具体的にはこのように

    青枠内のウィンドウにCreatePolyPolygonRgnを使うことで緑枠のように、二つの四角形に分けることができます。
    ただしこの四角形の間には空間が空いており、これをオレンジ枠のように近づけたり、
    紫枠のように元のウィンドウでの位置関係を無視した配置にしたいです。

    CreatePolyPolygonRgnだと元の位置関係が保存されてしまうので、これを無視できるような何か、
    もしくは位置関係を無視して多角形に切り出せる何かをご存じの方はいらっしゃいませんでしょうか?

    2012年9月9日 3:16

回答

  • ウィンドウとリージョンは、あくまで矩形のウィンドウの一部を切り抜いたかのように表示するだけであり、それぞれを部品として動かせるわけではありません。

    言われているような、画像を切り抜いたものの位置関係を変えて表示したいのであれば、そういう風に画像を切り抜いて描画するように実装してください。

    • 回答の候補に設定 佐伯玲 2012年9月13日 6:04
    • 回答としてマーク 佐伯玲 2012年9月19日 1:55
    2012年9月9日 7:40
    モデレータ
  • そのようにウィンドウをデザインしてください。

    既存のウィンドウに対して、後付けでそういった加工をすることはできないと考えた方が無難かと。
    (リージョン適用前の状態でボタンやリストボックスを移動させて、リージョンで切り抜いてあたかも切り抜いたものを移動させたように見せるとか)

    • 回答の候補に設定 佐伯玲 2012年9月13日 6:04
    • 回答としてマーク 佐伯玲 2012年9月19日 1:55
    2012年9月10日 13:55
    モデレータ

すべての返信

  • ウィンドウとリージョンは、あくまで矩形のウィンドウの一部を切り抜いたかのように表示するだけであり、それぞれを部品として動かせるわけではありません。

    言われているような、画像を切り抜いたものの位置関係を変えて表示したいのであれば、そういう風に画像を切り抜いて描画するように実装してください。

    • 回答の候補に設定 佐伯玲 2012年9月13日 6:04
    • 回答としてマーク 佐伯玲 2012年9月19日 1:55
    2012年9月9日 7:40
    モデレータ
  • この例は画像なので切り抜いてもできてしまうのですが、実際はボタンやリストなどを表示したウィンドウを、その機能を保ったまま切り抜きたいと考えています。

    このような事はWindowsではできないのでしょうか?

    2012年9月10日 12:51
  • そのようにウィンドウをデザインしてください。

    既存のウィンドウに対して、後付けでそういった加工をすることはできないと考えた方が無難かと。
    (リージョン適用前の状態でボタンやリストボックスを移動させて、リージョンで切り抜いてあたかも切り抜いたものを移動させたように見せるとか)

    • 回答の候補に設定 佐伯玲 2012年9月13日 6:04
    • 回答としてマーク 佐伯玲 2012年9月19日 1:55
    2012年9月10日 13:55
    モデレータ
  • そうですか…わかりました、ありがとうございました。
    2012年9月11日 11:06
  • こんにちは、blue_wind_ さん
    フォーラムオペレータの佐伯 玲 です。

    今回残念ながらblue_wind_ さんがやりたかった事は実現出来ないという結論になってしまいましたが
    Azulean さんの返信が回答になったと思われますので
    勝手ながら私のほうで「回答としてマーク」をさせて頂きました。

    今後ともMSDNフォーラムを宜しくお願い致します。
    __________________________
    日本マイクロソフト株式会社 フォーラム オペレーター 佐伯 玲

    2012年9月19日 1:55