掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
カスタムドローのコードを短く書くには? (ID:66284)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
const int NumberOfFirst = 1; const int NumberOfLast = 130; for (int LineNumber = NumberOfFirst; LineNumber <= NumberOfLast; LineNumber++) { if (lcd->nmcd.dwItemSpec==LineNumber && lcd->iSubItem==1)//上下 { s上下 = メインリスト.GetItemText(LineNumber, 2); if (s上下 == "〇") { lcd->clrText=RGB(255,0,0); //赤色 lcd->clrTextBk=RGB(0,0,0);//黒 *pResult=CDRF_NEWFONT; } else if (s上下 == "×") { lcd->clrText=RGB(0,0,255); //青色 lcd->clrTextBk=RGB(0,0,0);//黒 *pResult=CDRF_NEWFONT; } } } 単純に考えれば、こんなものだろうけど、なんで他に回答がないんだろうか? なにか見落としをしているのかな? > ソースはよく読んでませんが、どうしても繰り返しで書かないといけない時は、マクロを使って1つを1行で済ますようにすれば、130行で済む筈です。もちろん単純なマクロで表現できなければ、複雑怪奇なマクロを作ることになりますが。 マクロは種々な弊害があります(特に関数マクロ)。できれば関数化しましょう。 関数化のオーバーヘッドがマクロの弊害を上回ることはまれです。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.