▼ 福士さん
> となっています。つまりXE2以降でDefaultDrawing=Trueかつ*スタイル(テーマ)有効*だと
> 左4pixelがDrawCell=OnDrawCellの対象外になる、ということのようです。
> なんでこんな風になっているのかはよくわかりません。
ははぁ〜,なるほど,ソースコードまでは確認しませんでした.
XE でテーマ関係の描画で,マージンがないと問題でもあったのかも...
で,やってみました.領域の左端を - 4 にしたのが図の下の図です.
コードは以下です.
-5 にすると,左側のセルを選択した時に 1 px (?) 右のセルの背景に欠損が
生じるようです.
これから ML にレス書いてみます.
// 動作確認 Windows 7 U64(SP1) + Delphi XE7
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if ACol = 2 then begin
Rect.Left := Rect.Left - 4;
StringGrid1.Canvas.Brush.Style := bsSolid;
StringGrid1.Canvas.Brush.Color := RGB(0, 150, 0);
StringGrid1.Canvas.FillRect(Rect);
end;
end;
|