DBGridである行をダブルクリックしたら、その行だけ色が黒に
なり、再度ダブルクリックすると白くなるよう(白→黒→白→黒と)
にしたのですが、そうすればいいでしょうか?
そうしたのなら、そうすればいいでしょう。
↑
×そうすればいいでしょうか?
○どうすればいいでしょうか?
この掲示版の検索機能で'DBGrid 色'とか'OnDblClick' とか
で検索してみて下さい。
https://www.petitmonte.com/bbs/answers?question_id=4890
過去ログを参考にして実装してみましたが、選択していない行まで
色が変わってしまったり、挙動が怪しいです。
with TDBGrid(Sender) do begin
if (Canvas.Brush.Color = clWhite) and
(TDBGrid(Sender).SelectedRows.CurrentRowSelected = True) then
begin
Canvas.Brush.Color := clBlack;
end
else
begin
Canvas.Brush.Color := clWhite;
end;
DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
グローバルな変数を使って行の色を決めてもいいのなら
簡単でしょうが。
Canvas.Brush.Color を一度変えれば以後の全ての行に
影響すると思いますが。
なんとか実装に成功しました。
ありがとうございました。
ツイート | ![]() |