永发信息网

Delphi dbgird 问题

答案:2  悬赏:10  手机版
解决时间 2021-04-24 04:32
  • 提问者网友:謫仙
  • 2021-04-23 17:27
我想实现用鼠标轮滚在dbgrid的行间移动的同时,把dbgrid选中的行中个字段的数据分别显示在多个Edit中,请问怎么写代码?注意:使用的是鼠标轮滚,而不是鼠标点击!
最佳答案
  • 五星知识达人网友:忘川信使
  • 2021-04-23 18:10

private


OldGridWnd1:TWndMethod;
procedure NewGridWnd1(var Message: TMessage);



procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
edit1.Text:=adoquery1.fieldbyname('name).AsString;
end;


procedure TForm1.NewGridWnd1(var Message: TMessage);
var
IsNeg : Boolean;
begin
if Message.Msg = WM_MOUSEWHEEL then
begin
IsNeg := Short(Message.WParamHi) < 0;
if IsNeg then
DBGrid1.DataSource.DataSet.MoveBy(1)
else
DBGrid1.DataSource.DataSet.MoveBy(-1)
end
else
OldGridWnd1(Message);
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
OldGridWnd1 := DBGrid1.WindowProc;
DBGrid1.WindowProc := NewGridWnd1;
end;

全部回答
  • 1楼网友:孤独入客枕
  • 2021-04-23 18:44

在dbgrid对应的datasource的ondatachange事件中写

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯