喫茶XRAYトップページ

[スレッド全体
]

[5873] Re:FMXなStringGrid返信 削除
2012/3/12 (月) 17:23:07 Syake
続いて、Colmunの削除です。

procedure TForm1.Button2Click(Sender: TObject);
begin
  {Colを削除する}
  if StringGrid1.ColumnCount > 2 then
  begin
    //StringGrid1.BeginUpdate;
    StringGrid1.Columns[StringGrid1.ColumnCount-2].Release;
    //StringGrid1.EndUpdate;
    //StringGrid1.Repaint;
    //StringGrid1.Visible := False;
    //StringGrid1.Visible := True;
  end;
end;

削除できました。

ところが、StringGridのOnPaintが実行されません。

RePaintはダメでした。
BeginUpDate,EndUpDateもダメです。
(描画停止と開始と解釈した私がいけないの?)
強引に
Visible False→True もダメです。

もっとも、StringGridをスクロールするか、フォームを
一旦隠して再描画するとOnPaintが実行されるようです。
(それじゃ、だめじゃん)

さてさて、どうしたもんかいな。

[5874] Re2:FMXなStringGrid返信 削除
2012/3/12 (月) 17:35:03 Syake
忘れてた、Gridの作成

procedure TForm1.Button4Click(Sender: TObject);
var
  i :Integer;
begin
  with StringGrid1 do
  begin
    RowCount := 20;
    for i := 0 to 7 do
    begin
      AddObject(TStringColumn.Create(StringGrid1));
      Columns[i].Width := 100;
      (Columns[i] as TColumn).Header := 'Title' + IntToStr((Columns[i] as TColumn).Index);
      (Columns[i] as TStringColumn).ReadOnly := True;
    end;
    ShowHeader := False;    //  ヘッダーを表示するか
    ShowVertLines := False; //  Cellの境界縦線を描画するか(True,False)
    //ShowHorzLines     Cellの境界横線を描画するか(True,False)
    //ShowScrollBars   スクロールバーを表示するか
    //ShowSelectedCell  アクチブなCellを白抜き表示するか(True,False)
  end;
end;

まあ、こんな感じでよろしいのでしょうか?

DEKOサンの所にあった、枠のオリジナル描画
http://blogs.embarcadero.com/teamj/2011/11/14/2598/
参考になります。

ただ、これは決め打ちなのでデータによっての描画は無理なようだと私的には
解釈しました。
なので、これからも試行錯誤が続きそうです。

[▼次のスレッド]
INCM/CMT
Cyclamen v3.82