Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.10.2009, 22:19   #11
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Через WinApi можно:
Код:

type
  TForm1 = class(TForm)
    procedure movemsg(var Message: TMessage);
    message WM_MOUSEMOVE;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  mx,my:integer;

implementation

{$R *.dfm}

procedure Tform1.movemsg(var Message: TMessage);
begin
setcursorpos(mx,my);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
mx:=mouse.CursorPos.X;
my:=mouse.CursorPos.y;
end;

end.
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 16.10.2009, 22:23   #12
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,849
По умолчанию

Цитата:
Сообщение от russian-stalker
Через WinApi можно:
Если курсор за пределами окна приложения, то ему ничего не мешает двигаться.
Arigato вне форума Ответить с цитированием
Старый 16.10.2009, 22:28   #13
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Тогда дописать так и не беды:
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
setcursorpos(left+width div 2,top+height div 2);
mx:=mouse.CursorPos.X;
my:=mouse.CursorPos.y;
end;
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 16.10.2009, 22:28   #14
BuT@JL
Форумчанин
 
Регистрация: 27.11.2008
Сообщений: 137
По умолчанию

Уже теплей, плохо что курсор за форму выходит

Последний раз редактировалось BuT@JL; 16.10.2009 в 22:31.
BuT@JL вне форума Ответить с цитированием
Старый 16.10.2009, 22:31   #15
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

шоб не выходил ставьте clipcursor
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 16.10.2009, 22:36   #16
BuT@JL
Форумчанин
 
Регистрация: 27.11.2008
Сообщений: 137
По умолчанию

raxp напиши не большой примерчик пожалуста
BuT@JL вне форума Ответить с цитированием
Старый 16.10.2009, 22:44   #17
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,849
По умолчанию

Цитата:
Сообщение от BuT@JL
raxp напиши не большой примерчик пожалуста
А в хэлп заглянуть вы не способны?
Arigato вне форума Ответить с цитированием
Старый 16.10.2009, 22:44   #18
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

ну во-первых http://www.programmersforum.ru/showp...68&postcount=8

во-вторых
Код:
var r: trect;
begin
r.Left   := Left;
r.Top    := Top;
r.Right  := Left + Width;
r.Bottom := Top + Height;
 ClipCursor(@r);
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 16.10.2009, 22:45   #19
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

А можно тупо проверку добавить ещё одну
Код:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin


case Key of
  37: if mx-left>6 then mx:=mx-3;
  38: if my-top>32 then my:=my-3;
  39: if mx-left<width-6 then mx:=mx+3;
  40: if my-top<height-6 then my:=my+3;
end;

  SetCursorPos(mx,my);

end;
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 16.10.2009, 22:57   #20
BuT@JL
Форумчанин
 
Регистрация: 27.11.2008
Сообщений: 137
По умолчанию

всё получилось ) всем спасибо за помощь
BuT@JL вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Два вопроса: Цвет пикселя и управление курсором MaslovArt Win Api 6 22.06.2012 20:34
упрАвление курсором sqqa Паскаль, Turbo Pascal, PascalABC.NET 17 29.10.2010 23:16
проблемы с курсором Serega AKS Операционные системы общие вопросы 4 02.09.2009 15:05
Проблема с курсором в C# Kania Общие вопросы .NET 0 24.03.2009 15:21
рисунки курсором bars1k Помощь студентам 2 25.04.2008 10:32