StringGridの基本的な使い方をおしえてください!

解決


MF  2004-08-19 09:14:10  No: 10465

趣味でDelphisを始めたばかりで、StringGridについて基本的なことがよくわかりません・・・。
例えば、1列をつくり、その中に入れた数値をボタンのOnclickで合計してみたいのですが、
まず数値を入力するためには、どのイベントを用いる必要があるのでしょうか?
また、ボタンをクリックすることで合計したい場合には、
ボタンに全てを定義すればいいのでしょうか?


HOta  2004-08-19 17:00:51  No: 10466

>まず数値を入力するためには、どのイベントを用いる必要があるのでしょうか?
StringGridのプロパティのOptionのgoEditingをTrueにします。
右詰で表示するときは、OnDrawCellイベントで、

  with StringGrid1 do
  begin
    Canvas.Font.Assign(Font);
    if (gdFixed in State) then
      Canvas.Brush.Color := FixedColor
    else
      Canvas.Brush.Color := Color;
    Canvas.FillRect(Rect);
    if (gdFixed in State) then
    begin
        DrawText(Canvas.Handle,PChar(Cells[ACol,ARow]), -1,
                 Rect, DT_CENTER + DT_SINGLELINE + DT_VCENTER);
    end else begin
        DrawText(Canvas.Handle, Pchar(Cells[ACol, ARow]),
                  Length(Cells[ACol, ARow]),
                  Rect, DT_SINGLELINE  + DT_RIGHT + DT_VCENTER);
    end;               //
  end;

で表示できます。

>また、ボタンをクリックすることで合計したい場合には、
>ボタンに全てを定義すればいいのでしょうか?
各Cellsの値を取り出して数値に直し合計すればいいでしょう。
Cellsの値は文字列型ですから、StrToIntDef関数等で数値に直してください。


MF  2004-08-21 05:22:08  No: 10467

返信ありがとうございました!
なんとか動作するように作成することができました!


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

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






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