初歩的な質問なのですが、ご教授していただけると助かります。
外部から取り込んだ音の周波数をリアルタイムに表示させたいのですが、
char buffer[100];
int x,y;
for (x=0;x<10;x++){
for (y=0;y<10;y++){
sprintf(buffer,"%f",*m_pPower);
pDC->TextOut(x,y,buffer,lstrlen(buffer));
}
}
としてみても、同じ場所に表示されてしまいます。
*m_pPowerというのが音の大きさを表しています。
この数値を並べて表示させていきたいのですが、どうすればよいのか
分かりません。どなたか教えていただけると有り難いです。
宜しくお願いします。
本当に同じ位置に出ていますか?
1ピクセルずつずれて表示されていませんか?
> for (x=0;x<10;x++){
> for (y=0;y<10;y++){
を
for (x=0;x<100;x+=10){
for (y=0;y<100;y+=10){
とするとどうなりますか?
MSDNのCDC::TextOutより、
> TextOut 関数の呼び出し時に現在位置を更新する必要がある場合は、
> SetTextAlign メンバ関数の nFlags に TA_UPDATECP を設定して呼び出します。
> このフラグが設定されているときは、Windows は続く TextOut 関数の呼び出しで、
> x と y を無視し、代わりに現在位置を使います。
とありますが、関係ありませんか?
#詳細は、MSDN参照のこと。
ツイート | ![]() |