急!像Vb的datagrid功能?? vb的datagrid在拖动上下滚动条时,被选中的行始终不变,delphi里面的dbgrid或dbgrideh则是跟着滚动条跑,如何能像vb那样? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 锁定列!dbgrid或dbgrideh都可以 用消息處理 好了private OldGridWnd : TWndMethod;procedure NewGridWnd (var Message : TMessage); OldGridWnd := DBGrid1.WindowProc ; DBGrid1.WindowProc := NewGridWnd;procedure TfrmMain.NewGridWnd(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 OldGridWnd(Message);end; 散分,和谐的一天过去了 fastReport中如何实现多页打印? Delphi7生成可执行文件问题? 求DataSnap页中的DCOMConnection 控件的详解? 如何使PageControl的突起效果取消,还有如何使它的边线消失?? 如何通过异或获取数据 能否实现在窗体上画线,再次打开是这几条线还在? delphi数据封装性 DBGrid控件的问题?? 有关TDBgrid的问题 让我们一起对四川汶川大地震遇难同胞的深切哀悼 怎样导入或导出Firebird数据库中的数据表?
dbgrid或dbgrideh都可以
private
OldGridWnd : TWndMethod;procedure NewGridWnd (var Message : TMessage); OldGridWnd := DBGrid1.WindowProc ;
DBGrid1.WindowProc := NewGridWnd;procedure TfrmMain.NewGridWnd(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
OldGridWnd(Message);
end;