お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"StringGrid セルのクリック選択"





◆説明◆
 StringGrid でのクリックされたセルを取得します。
 このサンプルでは、マウスボタンが押下されたセルのデータを Label1 に
表示します。

◆注意◆
 StringGrid の場合、コンポーネントサイズの範囲内に、セルの存在しない
"空白" が出来る場合があります。
 Delphi では、その空白部分をクリックした場合にはエラーが発生しますの
で、これには注意が必要です。

◆サンプルコード◆
procedure TForm3.StringGrid1MouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
   RC, CC: Integer;
begin
     { 変数 RC,CC に、クリックされたセルの RowCount,ColCount
       を代入します}
     StringGrid1.MouseToCell(x,y, RC, CC);

     { クリックされた位置が空白部分であった場合、処理を行うと
    エラーとなるので中断します}
     if (RC = -1) or (CC = -1) then Exit;

     Label1.Caption := StringGrid1.Cells[CC,RC];
end;

◆参考◆
 この場合、RC,CC などという変数を使用せずに、単純に

 Label1.Caption := StringGrid1.Cells[y,x];

 で出来そうな気がするのですが、残念ながらそれは出来ません。(;_;)

                                    J-OH!(VEC05267)

Original document by J-OH!       氏 ID:(VEC05267)


ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum