在窗体上有一个DBGRID和一个按钮,我想实现的是按下按钮使DBGRID就像是按了PAGEDOWN键一样,这种效果怎么实现,请高手帮忙!!

解决方案 »

  1.   

    keybd_event(VK_PRIOR,mapvirtualkey(vk_prior,0),0,0)
      

  2.   

     SendMessage(DBGrid1.Handle,WM_VSCROLL, SB_PAGEDOWN ,0);你可以试一下
      

  3.   

    上翻:SendMessage(DBGrid1.Handle,  WM_KEYDOWN,  VK_PRIOR,  0);
    下翻: SendMessage(DBGrid1.Handle,  WM_KEYDOWN,  VK_NEXT,  0);
      

  4.   

    模拟按键
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    //pagedown
      DBGrid1.SetFocus;
      keybd_event(VK_NEXT,0,KEYEVENTF_EXTENDEDKEY,0);
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
    //pageup
      DBGrid1.SetFocus;
      keybd_event(VK_PRIOR,0,KEYEVENTF_EXTENDEDKEY,0);
    end;
      

  5.   

    DBGrid必须得先获得焦点才能执行pageup和pagedown
      

  6.   

    procedure TForm1.Button1Click(Sender: TObject); 
    begin 
    //pagedown 
      DBGrid1.SetFocus; 
      keybd_event(VK_NEXT,0,KEYEVENTF_EXTENDEDKEY,0); 
    end; procedure TForm1.Button2Click(Sender: TObject); 
    begin 
    //pageup 
      DBGrid1.SetFocus; 
      keybd_event(VK_PRIOR,0,KEYEVENTF_EXTENDEDKEY,0); 
    end; 
      

  7.   

    上翻:SendMessage(DBGrid1.Handle,  WM_KEYDOWN,  VK_PRIOR,  0); 
    下翻: SendMessage(DBGrid1.Handle,  WM_KEYDOWN,  VK_NEXT,  0);还是这种办法效率高点.模拟键盘事件,也是产生按键消息,
    还是这样直接sendmessage,调用消息响应函数来得快.