掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DBGridの背景色の反転について (ID:30372)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
DBGridを一行おきに反転させる為、以前 KHE00221 さんのレスされていたものを使わせていただきました。表示画面のみのセルの移動であれば問題ないのですが、 例えばMAX10行のgridで、11行目に '↓'、'PageDown'、スクロールバーの下方向ボタンで移動すると Rowの数字が'-1'されているようで、正しい数値が所得できないようです。 結果交互に反転となりません。 上方向も同じ現象です。 スクロールバーによる上下動は問題ありません。 どうしたら良いのかサッパリわかりません。 どうすれば良いのでしょうか? ソース ---------------------------------------------------- unit DBGridEx; interface uses Windows, Classes, Grids, DBGrids; type TDBGridEx = class(TDBGrid) private FSaveRow : Integer; FSaveCol : Integer; protected public procedure DrawCell(ACol, ARow: Longint; ARect: TRect; AState: TGridDrawState);override; published property SaveRow : Integer read FSaveRow; property SaveCol : Integer read FSaveCol; end; procedure Register; implementation procedure TDBGridEx.DrawCell(ACol, ARow: Longint; ARect: TRect; AState: TGridDrawState); begin FSaveRow := ARow; FSaveCol := ACol; inherited; end; procedure Register; begin RegisterComponents('Component', [TDBGridEx]); end; end. ------------------------------------------------ そして procedure TForm1.DBGridEx1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var C : TColor; begin if (DBGridex1.SaveRow mod 2) = 0 then C := clRed else C := clBlue; DBGridEx1.Canvas.Brush.Color := C; DBGridEx1.DefaultDrawColumnCell(Rect,DataCol,Column,State); end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.