Скопируйте код из данного "Совета", сохраните его с именем DBGrid.pas и установите компонент в палитру. У Вас появится новый компонент EDBGrid с двумя новыми событиями: OnMouseDown и OnMouseUp. Я не считаю эту информацию конфиденциальной: это ошибка разработчиков Delphi! На самом деле эти два события должны быть частью компонента DBGrid.
unit Dbgrid; interface uses DBGrids, Controls, Classes; type TEDBGrid = class(TDBGrid)privateFOnMouseDown: TMouseEvent;FOnMouseUp: TMouseEvent;protectedprocedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y:Integer); override; procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y:Integer); override; publishedProperty OnMouseDown : TMouseEvent read FOnMouseDown writeFOnMouseDown ; Property OnMouseUp : TMouseEvent read FOnMouseUp write FOnMouseUp ;end; procedure Register; implementation procedure Register; begin RegisterComponents('Data Controls',[TEDBGrid]);end; procedure TEDBGrid.MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if Assigned(FOnMouseDown) thenFOnMouseDown(Self,Button,Shift,X,Y);inherited MouseDown(Button,Shift,X,Y);end; procedure TEDBGrid.MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if Assigned(FOnMouseUp) thenFOnMouseUp(Self,Button,Shift,X,Y);inherited MouseUp(Button,Shift,X,Y);end; end. |
[000072]