StringGridのセル反転をなくすには?


やまだ  2013-10-09 04:02:43  No: 45380

こんにちは。

いつもお世話になっております。
開発環境は、win7(sp1)、delphiXE3 enterprise(updateなし)です。

stringgridを2つ(stringgrid1、stringgrid2)画面に貼っています。
stringgrid2は合計を表示しています。

stringgrid2はfixedrowsを0にしています。

stringgrid2のdrawcellに以下のコードを書いています。

with (Sender as TStringGrid) do
begin
  if (gdFixed in State) then
  begin
   GradientFillCanvas(Canvas, GradientStartColor,GradientEndColor,Rect,gdVertical);
   Canvas.Brush.Style := bsSolid;
   Canvas.FillRect(Rect);
   DrawText(Canvas.Handle, PChar(Cells[ACol,ARow]),Length(Cells[ACol,ARow]),Rect, DT_SingleLine or DT_CENTER or DT_VCenter);
  end;
end;

上のコードにはセルの反転をしないというところは分からないので、お恥ずかしながら書いていません。

合計なのでセルの反転はさせたくないと思っています。

よろしくお願いします。


tor  2013-10-09 04:43:39  No: 45381

ヲサヲサヲサィニヲサヲサモゥヲサ
というのは「固定セルだったら」ということですが、その条件で合っていますか?
固定セルだとそもそも選択状態にもならないはずなので、何か違う気がしますが……

普通セルのカスタム描画をする時は、モにモが入っているかどうかを見て、反転描画するか普通に描画するかを切り替えます。
逆に言えば、モを無視して常に普通に描画すれば反転しないということです。
なので最初の条件を取り除いてやれば、そのコードで目的は果たせるんじゃないかと思います。

それでうまくいかないようだったら
ュデフォルト描画で上書きされないようヲサトトヲサコスヲサヲサにしておく
ュヲサツョテャヲサニョテヲサをそれぞれ標準の色(ラおよびラヤ)に設定する
くらいでしょうか。
スススススススススススススススススススススススススススススススススススススススス
ニコ やまだ
トコ イーアウッアーッアイィ土ゥ アエコオエコエク  書込者ノト:ロ 「。「 「「 ン

遅くなってすみません。

プログラムのバグを直すのに時間がかかってしまいました。

お恥ずかしながら、おっしゃるとおりでした。

プログラムミスでした。

を入れて固定列でなかったらとしたら上手くいきました。

お騒がせしました。

ありがとうございました。
スススススススススススススススススススススススススススススススススススススススス
ニコ やまだ
トコ イーアウッアーッアイィ土ゥ アエコオオコウウ  書込者ノト:ロ 「。「 「「 ン
モコ 

解決でした。
重ね重ねすみませんでした。


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

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






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