ダイアログにコントロールを貼り付け、そこに線を描きたいのですが
ボタンのコントロール以外での描写は出来ないんでしょうか?
コントロールはVCのリソースエディタでそのまま貼り付けています。
ちなみにボタンに線を表示するのには、
HDC dw=GetDC(GetDlgItem(hDlg,IDC_BOTTON));
MoveToEx(dw,0,0,NULL);
LineTo(dw,50,50);
ReleaseDC(GetDlgItem(hDlg,IDC_BOTTON),dw);
のように描いています。
プログラムはSDKを使っていて、Cはクラスがよくわかってないです。すみません。
まだまだ勉強不足でクライアント領域をダイアログに貼り付けるのは混乱してしまうので、
できればコントロールで済ませたいと考えています。どなたかよろしくお願いします。
コントロール上に絵を描きたい、と。
ボタン以外に対してでも、基本的には同じ方法で可能です。
何をしたいのかにもよりますが、スタティックコントロール上に描くパターンをよく見かけま
す。
sugarさん返信有り難うございます。
スタティックコントロールでも同じやり方にて可能だったら、
ダイアログ上にスタティックを張り付け、
そのスタティックコントロールのIDを線をひくことができたボタンのものにしても
大丈夫ですよね?
私の場合、ボタン以外のコントロールをハンドルにしてGetDCを行うと
全てディスクトップに表示されてしまいます。
ちなみにいま私は音声処理のソフトを作っています。音波形を周波数などで解析して
雑音を除去しようと考えてます。そこで解析した周波数結果をダイアログ上の再生、
停止ボタンの下に表示させたいと考えているのです。線さえ引くことができればあとは
なんとかできると思うのですが。
> そのスタティックコントロールのIDを線をひくことができたボタンのものにしても
> 大丈夫ですよね?
>
そうですねぇ、大丈夫ではありますが。
まずはやってみましょう。
複数のコントロールで同じIDにならないようにしてくださいね。
でもIDなんて、いくつでもいいんですよ、重複さえしてなければ。
#スタティックコントロールの場合、IDC_STATICのままではダメです。
> 私の場合、ボタン以外のコントロールをハンドルにしてGetDCを行うと
> 全てディスクトップに表示されてしまいます。
>
デ、デスクトップですか??
デスクトップのハンドルを取得するのは面倒なんですよ、普通。
とりあえずなんとかすることができそうです。
ありがとうございました。