はじめまして
いつもプログラムの参考にさせていただいております。
今回、悩んだ上、わからなくお手上げ状態なので質問させていただきます。
今、フォームとスタティックテキスト(IDC_STATIC)があるのですが、
Arcで描画した円をスタティックテキストの中に表示したいのです。
どなたか方法をご存知の方は教えていただきたく思います。
よろしくお願いします。
CStaticを使わないのが正解だと思う。
Arcで描画するときにTextOut等でテキストを表示するのが良いでしょう。
CStaticの背景を透明にする方法もあるけど、↑の方法と比べたら大分複雑です。
TextOutでまずいことがありますか?
「スタティックテキスト」とは「スタティックコントロール」
のことだと仮定します。
「スタティックコントロール」内に表示できるのは
1.文字列
2.ビットマップ
3.メタファイル
4.カーソル
5.アイコン
です。
Arc()での描画結果は上記の何れでもないので、簡単に表示する
方法はありません。
ただし、2.又は3.の形式に変換すればできないこともありません。
が、それ以前の問題として、標準コントロールに標準でない
ものを表示しなければいけなくなった理由は何でしょう。
その理由のいかんによっては、まったく別で、もっと簡単な
解決手法があるかもしれません。
お詫び申し上げます。
スタティックコントロールではなく、ピクチャーコントロールでした
回答者様、大変申し訳ございませんでした。
いえ、ピクチャーコントロールで貼り付けても
中身はCStaticなので同じ事です。
CStaticの描画を乗っ取って円もテキストも自分で描画するなら
行けると思います。但し、この方法のメリットってダイアログ上の
コントロールを動かすと円もテキストも一緒に移動してくれると言う点以外は
大してメリットが無いと思います。
なのでわざわざコントロールを貼り付けて中に描きたい訳を
説明するとそれなりの返答が付くのでは無いかと思います。
単に円の上にテキストが描きたいだけならダイアログ上に直接描いても
対して変わらないかなと思います。
枠とかがいるのかなぁ。
質問の主旨は
1:WINDOWSプログラムの描画の方法はしってるが
特定のコントロール上に描くことにつまっている
2:そもそもWINDOSプログラムでの描画方法がよくわからない
どっちでしょうか?