掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
現在選択されている StringGrid のセル Low、Col を知るには (ID:36261)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
function CheckDecNum(const S: String):Boolean; var i: Integer; begin Result := True; for i := 1 to Length(S) do begin if ( not (S[i] in ['0'..'9','-']) ) //キー入力で必要 or ( (S[i] = '-') and (i > 1) ) then begin Result := False; break end; end; end; procedure TForm1.SpeedButton1Click(Sender: TObject); var i: Integer; NumStr: string; begin i := TSpeedButton(Sender).Tag; NumStr := StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row]; if i = 10 then NumStr := '-'+NumStr else NumStr := NumStr + IntToStr(i); if CheckDecNum(NumStr) then StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row] := NumStr; end; risa さんのコードを参考にしました。こういう場合は SelectCell を使うまでもないようですね。ただ実用的なものを作るとなると意外と難しい。 たとえば '123' と入力して後 '1203' とするには StringGrid1.Cells[Col, Row] の文字列のカーソル位置を知る必要がありますが、これなんかどうするのでしょう。またセルの文字列が選択されているかどうかも知りたいのですが。 > StringGrid1.Selection かな 私もそう思ったのですがヘルプを読むと 「Selection プロパティは,現在選択されている領域の境界を指定します」 とありますので文字列自体の位置はわからないのではないでしょうか。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.