こんにちは。
いつもお世話になっております。
開発環境は、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;
上のコードにはセルの反転をしないというところは分からないので、お恥ずかしながら書いていません。
合計なのでセルの反転はさせたくないと思っています。
よろしくお願いします。
ン
ヲサヲサヲサィニヲサヲサモゥヲサ
というのは「固定セルだったら」ということですが、その条件で合っていますか?
固定セルだとそもそも選択状態にもならないはずなので、何か違う気がしますが……
普通セルのカスタム描画をする時は、モにモが入っているかどうかを見て、反転描画するか普通に描画するかを切り替えます。
逆に言えば、モを無視して常に普通に描画すれば反転しないということです。
なので最初の条件を取り除いてやれば、そのコードで目的は果たせるんじゃないかと思います。
それでうまくいかないようだったら
ュデフォルト描画で上書きされないようヲサトトヲサコスヲサヲサにしておく
ュヲサツョテャヲサニョテヲサをそれぞれ標準の色(ラおよびラヤ)に設定する
くらいでしょうか。
スススススススススススススススススススススススススススススススススススススススス
ニコ やまだ
トコ イーアウッアーッアイィ土ゥ アエコオエコエク 書込者ノト:ロ 「。「 「「 ン
遅くなってすみません。
プログラムのバグを直すのに時間がかかってしまいました。
お恥ずかしながら、おっしゃるとおりでした。
プログラムミスでした。
を入れて固定列でなかったらとしたら上手くいきました。
お騒がせしました。
ありがとうございました。
スススススススススススススススススススススススススススススススススススススススス
ニコ やまだ
トコ イーアウッアーッアイィ土ゥ アエコオオコウウ 書込者ノト:ロ 「。「 「「 ン
モコ
解決でした。
重ね重ねすみませんでした。
ツイート | ![]() |