المشاركات : 98
المواضيع 36
:
: 0
الإنتساب : Oct 2010
شكرا لك أخي kachwahed على التعديل لكن الكود لا يعمل مع tedit بهذا الشكل.
بالتوفيق
المشاركات : 201
المواضيع 60
:
: 0
الإنتساب : Oct 2009
وجدت كود ولكن لا يجدي نفعا
PHP كود :
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, DBTables;
type
TForm1 = class(TForm)
DataSource1: TDataSource;
Table1: TTable;
DBGrid1: TDBGrid;
procedure FormCreate(Sender: TObject);
procedure DBGridMouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;
TWheelDBGrid = class(TDBGrid)
public
property OnMouseWheel;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
TWheelDBGrid(DBGrid1).OnMouseWheel := DBGridMouseWheel;
end;
function GetNumScrollLines: Integer;
begin
SystemParametersInfo(SPI_GETWHEELSCROLLLINES, 0, @Result, 0);
end;
procedure TForm1.DBGridMouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
var
Direction: Shortint;
begin
Direction := 1;
if WheelDelta = 0 then
Exit
else if WheelDelta > 0 then
Direction := -1;
with TDBGrid(Sender) do
begin
if Assigned(DataSource) and Assigned(DataSource.DataSet) then
DataSource.DataSet.MoveBy(Direction * GetNumScrollLines);
Invalidate;
end;
end;
end.
ماهو الحل علمنا اني استعمل مكون sdbgrid و الذي يحتوي على الحدث
PHP كود :
procedure TStockFrm.sDBGrid1MouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
end;
كيف استفيد من هذا الحدث (دهبت الى help ولم اجد عنه شيئا) ؟
كن متواضعا ولا تكن متكبرا // الصبر + المثابرة = النجاح
المشاركات : 2,293
المواضيع 157
:
: 81
الإنتساب : Dec 2008
إقتباس :ماهو الحل علمنا اني استعمل مكون sdbgrid و الذي يحتوي على الحدث
أي إصدار، وأي نسخة دلفي تستخدم؟ لأجرب عندي...
إن أمكن، إفتح مشروع جديد وضع ما يجب فيه، ثم أرفقه لنعمل عليه كمثال
المشاركات : 842
المواضيع 49
:
: 65
الإنتساب : Jun 2010
السلام عليكم
قمت بتتبع الحدث MouseWheel الخاص بالـ DBGrid فوجدت أنه يتم تنفيذ الكود الموجود في الحدث قبل تحريك السجل Next / Prior)
ربما لأنه حدث ONMouseWheel و ليس AFTERMouseWheel ؟ ـ
لتحقيق غرضك إستعمل الحدث AfterScroll للـ DataSet المستعمل
مثال
كود :
procedure TForm1.ADOTable1AfterScroll(DataSet: TDataSet);
begin
...
end;
بالتوفيق
المشاركات : 201
المواضيع 60
:
: 0
الإنتساب : Oct 2009
الله اكبر
بارك الله فيك وفي والديك
نجحت الفكرة حلت المشكلة
سلامي وحبي لك أستادي عبد الجليل
كن متواضعا ولا تكن متكبرا // الصبر + المثابرة = النجاح