Q&A

  • BDgrid에 스크롤 바가 움직이지 않네요!!
DBgrid에 연결된 데이타 셋은 쿼리이고요
쿼리로 데이타를 축출해서 DBgrid에 보여주는 형식입니다
이렇게 데이타를 값을 보여주고 DBgrid에 스크롤 바를 움직이면
스크롤 바는 움직이지 않아요 휠에 동작에 ...
휠값에 스크롤 바가 움직이지 않는 이유는 무엇이 있을까요??

다른 답변을 보니 filted값을 false로 해야 스크로 바가 움직인다고
하던데  그렇게 했는데도 움직이지 않내요
혹시 SQL문에 따라서도 영향을 받는지요!!!

맨날 질문만 올리고..
답변 항상 고맙습니다..
1  COMMENTS
  • Profile
    홍성락 2002.10.11 04:41
    팁에 "디비그리드 스크롤예제들입니다_정리용" 라는 제목으로 올려 놓았는데요 참조해보시구요
    아래는 여러방법을 예로 들었습니다.
    아래는 Comment를 풀어가면서 테스트해보세요
    unit Unit1;

    interface
    ...
      private
        { Private declarations }
        procedure MOUSEWHEELMessage(var Msg: TMsg; var Handled: Boolean);
      public
        { Public declarations }
      end;

    var
      Form1: TForm1;

    implementation

    {$R *.dfm}
    procedure TForm1.FormCreate(Sender: TObject);
    begin
        Application.OnMessage:= MOUSEWHEELMessage;
    end;
    procedure TForm1.MOUSEWHEELMessage(var Msg: TMsg; var Handled: Boolean);
    begin
       if Msg.Message = WM_MOUSEWHEEL then begin
        if ActiveControl = TControl(DBgrid1) then begin
           if Msg.wParam > 0 then begin
                //SendMessage(DBGrid1.Handle,WM_KEYDOWN,VK_UP,0);
                //SendMessage(DBGrid1.Handle,WM_KEYDOWN,VK_PRIOR,0);
                SendMessage(DBGrid1.Handle,WM_VSCROLL,SB_LINEUP,0);
                //Table1.Prior;
             end
             else if Msg.wParam < 0 then begin
                //SendMessage(DBGrid1.Handle,WM_KEYDOWN,VK_DOWN,0);
                //SendMessage(DBGrid1.Handle,WM_KEYDOWN,VK_NEXT,0);
                SendMessage(DBGrid1.Handle,WM_VSCROLL,SB_LINEDOWN,0);
                //Table1.Next;
             end;
             //DBGrid1.Refresh;
           end;
        end;
    end;
    end.

    hsr////////////////////////////////////////////////////////////