コントロールの一部をくりぬくには?

解決


おおさわ  2005-09-17 10:51:43  No: 17603  IP: 192.*.*.*

質問です。

コントロールの形状が矩形のものばかりなので、丸や多角形などの複雑な形をしたコントロールを作ろうと考えています。
このとき、コントロールの一部をくりぬく必要があると思うのですが、その方法が分かりません。
検索すると、フォームをくりぬく方法は載っているのですが、コントロールをくりぬく方法が見つかりませんでした。

どのようにすれば可能でしょうか?
また、さらに半透明化する方法も教えていただければ幸いです。

(TGraphicControl を継承した軽量コンポーネントでは可能でした。TWinControl を継承した重量コンポーネントでの方法を知りたいのです)

編集 削除
おっ  2005-09-17 16:34:08  No: 17604  IP: 192.*.*.*

> フォームをくりぬく方法
これは、このように記述してありませんか?
SetWindowRgn(Self.Handle, 〜)
とか
SetWindowRgn(Handle, 〜)

Handleの部分を「なんかのコンポーネント.Handle」とするだけでできます。

半透明については、他の人のレス待ちということで。
APIを使うならWin2000以降なのかな?

編集 削除
おおさわ  2005-09-24 22:33:31  No: 17605  IP: 192.*.*.*

返信遅れてすみません。おっ様に指摘していただいた部分を修正することで解決しました。

半透明に関してはあきらめることにします。

ありがとうございました。

編集 削除