DbGridの縦スクロールについて

解決


のり0203  2012-06-12 22:26:55  No: 42465

DBGridで縦スクロールバーで移動したとき、
スクロールバーがとまった時点でカーソルが移動します。
スクロールバーを移動してるとき、
同時にGRID内のデータを移動させるには、
どうしたらよいでしょうか?
Delphi7です。
どなたか解決方法をお願い致します


のり0203  2012-06-13 19:44:48  No: 42466

自己レスですが、
StruingGridのoptions にgoThumbTrackingというプロパティがあることがわかりました。
DbGridには、ありませんでした。
DbGridでは WMVScrollをSB_THUMBPOSITIONに変えればいいことまでわかりました。
messageの書き方がよくわからりませんが、
ネットを参考にして、書いてみました。

type
  TDBGrid = class(DBGrids.TDBGrid)
  private
   procedure WmVScroll(var Message: TWMScroll); Message WM_VSCROLL;
  end;

procedure TDBGrid.WMVScroll(var Message: TWMVScroll);
begin
   with Message do
     if ScrollCode = SB_THUMBTRACK then
       ScrollCode := SB_THUMBPOSITION;
   inherited;
end;

です。
一応、動作するようになりましたが、
はたして、あっているものなのでしょうか。

どなたか、みていただけますか。
よろしく、お願いいたします。


のり0203  2012-06-15 17:11:23  No: 42467

解決しました。
この方法で、いきたいと思います。
間違っているところがありましたら、ご指摘お願いいたします。
質問することがあるかもしれませんが、その時は、またよろしくお願いいたします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加