フリーソフト

« [BCB] フォルダを削除する | トップページ | [BCB] StringGridを列を指定してソートする(バブルソート) »

[BCB] StringGridでクリックされた場所のRowとColを取得

StringGridで、一番上の行につくったFixedRowがクリックされたときに、クリックされた列をキーにしてデータをソートしたいということがあります。マウスクリックされた場所が、何行、何列のセルなのかは以下のようにして取得することができます。

void __fastcall TSentenceSimForm::StringGrid1MouseUp(TObject *Sender,
   TMouseButton Button, TShiftState Shift, int X, int Y)
{
 int ARow,ACol;
 StringGrid1->MouseToCell(X,Y,ACol,ARow);

 //AColに列、ARowに行番号が格納される
 
 if (ARow!=0) return; //クリックされたのが一番上の行じゃなかったらreturn
 else StringGridSort(ACol); //ACol列でソート
}

上の例のStringGridSortは自分で定義する必要があります。

« [BCB] フォルダを削除する | トップページ | [BCB] StringGridを列を指定してソートする(バブルソート) »

C++Builder」カテゴリの記事

TStringGrid」カテゴリの記事

コメント

この記事へのコメントは終了しました。