掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TDBGridで表示されている先頭行を取得するには? (ID:30312)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
いつも勉強させていただいてます。 さて、早速なのですが、TDBGridにてマウスでクリック時、 クリックした位置のレコードが、 先頭から何レコード目のレコードなのかを判定したいと思っています。 procedure TMyDBGrid.MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin CurrentRow := (Y div RowHeights[0]) - 1; end; Gridにスクロールがない場合は、 上記のコードで正常にCurrentRowに値が入るのですが、 DBGridを縦にスクロールしている場合、 Y座標が表示されている位置からの座標のため、 スクロールしている分だけずれてしまいます。 「現在のGridの表示状態が何レコード分スクロールしているのか(何ピクセルずれているのか)」があらかじめわかれば、 計算できるかと思ったのですが、その方法がわかりませんでした。 このような場合、何かいい方法がありますでしょうか?
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.