Форум: "Media";
Текущий архив: 2006.10.22;
Скачать: [xml.tar.bz2];
Внизкурсор на форме Найти похожие ветки
← →
mobila (2006-03-21 17:38) [0]Подскажите пожалуйста как разместить курсор мыши именно на форме, а не за пределами её.
← →
mobila (2006-03-21 17:41) [1]Т.е разместить курсор в определённом месте на форме.
← →
mobila (2006-03-21 17:41) [2]Т.е разместить курсор в определённом месте на форме.
← →
grouzd[E]v © (2006-03-21 19:37) [3]Ну к примеру нижеследующее разместит курсор прямо по центру формы
var
x, y : integer;
...
x := form1.left + form1.width div 2;
y := form1.top + form1.height div 2;
SetCursorPos(x, y);
---
... we are walking on a thin line and you better avoid the risk ...
← →
mobila (2006-03-22 05:53) [4]Большое спасибо как раз то что нужно.
← →
mobila (2006-03-22 06:36) [5]Вот ещё один вопрос, а можно привязать курсор конкретно не к форме, а
к на рисованному (для выделения картинки) квадрату. т.е когда щёлкаешь по форме курсор появлялся внутри квадрата где бы он не находился.
листинг квадрата ниже
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
TForm1 = class(TForm)
Button1: TButton;
procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Button1Click(Sender: TObject);
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
Capturing : bool;
Captured : bool;
StartPlace : TPoint;
EndPlace : TPoint;
leftX, topY, RectWidth, RectHeight: integer;
public
{ Public declarations }
end;
var
Form1: TForm1;
x0, y0: integer;
{Captured : boolean; }
R, R0: TRect;
implementation
{$R *.dfm}
function MakeRect(Pt1: TPoint; Pt2: TPoint): TRect;
begin
if pt1.x < pt2.x then
begin
Result.Left := pt1.x;
Result.Right := pt2.x;
end
else
begin
Result.Left := pt2.x;
Result.Right := pt1.x;
end;
if pt1.y < pt2.y then
begin
Result.Top := pt1.y;
Result.Bottom := pt2.y;
end
else
begin
Result.Top := pt2.y;
Result.Bottom := pt1.y;
end;
end;
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if button<>mbLeft then Captured:=false
else begin
Captured := true;
x0 := x;
y0 := y;
end;
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if Captured then
begin
DrawFocusRect(Form1.Canvas.Handle,MakeRect(StartPlace,EndPlace));
EndPlace.x := EndPlace.x + x - x0;
EndPlace.y := EndPlace.y + y - y0;
StartPlace.x := StartPlace.x + x - x0;
StartPlace.y := StartPlace.y + y - y0;
x0 := x;
y0 := y;
DrawFocusRect(Form1.Canvas.Handle,MakeRect(StartPlace,EndPlace));
end;
end;
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
Captured := false;
Capturing := false;
x0 := x;
y0 := y;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
DrawFocusRect(Form1.Canvas.Handle, MakeRect(StartPlace, EndPlace));
StartPlace.x := 0;
StartPlace.y := 176;
EndPlace.x := 132;
EndPlace.y := 0;
DrawFocusRect(Form1.Canvas.Handle, MakeRect(StartPlace, EndPlace));
end;
end.
← →
rem2 (2006-03-22 14:01) [6]SetCursorPos(
ClientOrigin.x + StartPlace.x + (EndPlace.x - StartPlace.x) div 2 , // x
ClientOrigin.y + EndPlace.y + (StartPlace.y - EndPlace.y) div 2 ); // y
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2006.10.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.04 c