- Visual C++源码
- Visual Basic源码
- C++ Builder源码
- Java源码
- Delphi源码
- C/C++源码
- PHP源码
- Perl源码
- Python源码
- Asm源码
- Pascal源码
- Borland C++源码
- Others源码
- SQL源码
- VBScript源码
- JavaScript源码
- ASP/ASPX源码
- C#源码
- Flash/ActionScript源码
- matlab源码
- PowerBuilder源码
- LabView源码
- Flex源码
- MathCAD源码
- VBA源码
- IDL源码
- Lisp/Scheme源码
- VHDL源码
- Objective-C源码
- Fortran源码
- tcl/tk源码
- QT源码
MouseF.pas
资源名称:delphi.rar [点击查看]
上传用户:fh681027
上传日期:2022-07-23
资源大小:1959k
文件大小:2k
源码类别:
Delphi控件源码
开发平台:
Delphi
- unit MouseF;
- interface
- uses Qt, Classes, QGraphics,
- QControls, QForms, SysUtils, Types;
- type
- TMouseForm = class(TForm)
- procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
- Shift: TShiftState; X, Y: Integer);
- procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
- Y: Integer);
- procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
- Shift: TShiftState; X, Y: Integer);
- procedure FormPaint(Sender: TObject);
- private
- fDragging: Boolean;
- fRect: TRect;
- public
- { Public declarations }
- end;
- var
- MouseForm: TMouseForm;
- implementation
- {$R *.xfm}
- procedure TMouseForm.FormMouseDown(Sender: TObject; Button: TMouseButton;
- Shift: TShiftState; X, Y: Integer);
- begin
- if Button = mbLeft then
- begin
- fDragging := True;
- Mouse.Capture := Self; // the form captures the mouse
- fRect.Left := X;
- fRect.Top := Y;
- fRect.BottomRight := fRect.TopLeft;
- Canvas.DrawFocusRect (fRect);
- end;
- end;
- procedure TMouseForm.FormMouseMove(Sender: TObject;
- Shift: TShiftState; X, Y: Integer);
- begin
- // display the position of the mouse in the caption
- Caption := Format ('Mouse in x=%d, y=%d', [X, Y]);
- if fDragging then
- begin
- // remove and redraw the dragging rectangle
- Canvas.DrawFocusRect (fRect);
- fRect.Right := X;
- fRect.Bottom := Y;
- Canvas.DrawFocusRect (fRect);
- end
- else
- if ssShift in Shift then
- begin
- // mark points in yellow
- Canvas.Pen.Color := clYellow;
- Canvas.DrawPoint (X, Y);
- end;
- end;
- procedure TMouseForm.FormMouseUp(Sender: TObject; Button: TMouseButton;
- Shift: TShiftState; X, Y: Integer);
- begin
- if fDragging then
- begin
- Mouse.Capture := nil; // release the mouse capture
- fDragging := False;
- Invalidate;
- end;
- end;
- procedure TMouseForm.FormPaint(Sender: TObject);
- begin
- Canvas.Pen.Color := clBlue;
- Canvas.Rectangle (fRect.Left, fRect.Top,
- fRect.Right, fRect.Bottom);
- end;
- end.