趣味でDelphisを始めたばかりで、StringGridについて基本的なことがよくわかりません・・・。
例えば、1列をつくり、その中に入れた数値をボタンのOnclickで合計してみたいのですが、
まず数値を入力するためには、どのイベントを用いる必要があるのでしょうか?
また、ボタンをクリックすることで合計したい場合には、
ボタンに全てを定義すればいいのでしょうか?
>まず数値を入力するためには、どのイベントを用いる必要があるのでしょうか?
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関数等で数値に直してください。
返信ありがとうございました!
なんとか動作するように作成することができました!
ツイート | ![]() |