C++Builder でwith文の代用
|
BCBには(というかC++には)Pascalのwith文に相当するものが
無い為、クラスのメンバの階層が深いとコード1行あたりの文字数
が無茶苦茶長くなってしまいます。
こんな時はポインタか参照変数を使えば、コード量を減らす事が
出来ます。
void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, long Col, long Row,
TRect &Rect, TGridDrawState State)
{ char *s;
TCanvas &cv = *StringGrid1->Canvas;
s = StringGrid1->Cells[Col][Row].c_str();
if (strchr(s, '?') != NULL)
cv.Font->Color = clRed;
else
cv.Font->Color = clBlack;
cv.TextOut(Rect.Left + 2, Rect.Top + 2,
StringGrid1->Cells[Col][Row]);
}
|
|