DBGrid 色によって色を変化するには

解決


サッチ  2008-10-23 05:44:57  No: 32319

DBGridである行をダブルクリックしたら、その行だけ色が黒に
なり、再度ダブルクリックすると白くなるよう(白→黒→白→黒と)
にしたのですが、そうすればいいでしょうか?


そうですね  2008-10-23 05:47:37  No: 32320

そうしたのなら、そうすればいいでしょう。


サッチ  2008-10-23 07:58:18  No: 32321


×そうすればいいでしょうか?

○どうすればいいでしょうか?


TS  2008-10-23 21:48:50  No: 32322

この掲示版の検索機能で'DBGrid 色'とか'OnDblClick' とか
で検索してみて下さい。

https://www.petitmonte.com/bbs/answers?question_id=4890


サッチ  2008-10-24 06:52:27  No: 32323

過去ログを参考にして実装してみましたが、選択していない行まで
色が変わってしまったり、挙動が怪しいです。

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;


TS  2008-10-24 07:23:23  No: 32324

グローバルな変数を使って行の色を決めてもいいのなら
簡単でしょうが。
Canvas.Brush.Color を一度変えれば以後の全ての行に
影響すると思いますが。


サッチ  2008-11-02 20:17:57  No: 32325

なんとか実装に成功しました。
ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加