|
|
||||
Tips > |
|||||
ダブルクリックで StringGrid の行列を知る |
更新 : 2011/03/19 |
||||
|
|
||
解説: StringGrid で現在どのセルにアクセスしているのか、知りたいときはどのような方法を取ればよいでしょう。 Selection プロパティを使うと、現在選択されている領域の境界が分かります。 このプロパティで、ダブルクリックしたセルの行列を取得する例をみてみます。 使用例: 以下の例では、StringGrid のセルをダブルクリックして、その行列数を Label に表示しています。 準備として StringGrid, Label を適当に置いてください。 StringGrid1 の OnDblClick イベントで 変数 rect にセルの範囲を記録します。 その値の、第 1 列、第 1 行を行列数として Label1 に表示しています。 Selection プロパティは複数セルを知ることができるので、いろいろな範囲を選択して試してみるといいでしょう。 時間のある方は、セルの文字列を取得するコード(Tips 参照)を考えてみるといいでしょう。 //------------------------------------------------------------------- void __fastcall TForm1::StringGrid1DblClick(TObject *Sender) { TGridRect rect = StringGrid1->Selection; Label1->Caption = IntToStr(rect.Top) + "行" + ", " + IntToStr(rect.Left) + "列"; } //------------------------------------------------------------------- |