Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.11.20;
Скачать: [xml.tar.bz2];

Вниз

Шаг перемещения мыши   Найти похожие ветки 

 
Dr. Well   (2003-11-11 13:08) [0]

Господа, как можно реализовать шаговое перемещение мыши (типа как в AutoCAD"е)?

С Уважением Александр Яговдик.


 
[lamer]Barmaglot   (2003-11-11 13:15) [1]

Как в AutoCAD это как? Если имеется в виду привязка к сетке, то перехватывать сообщения WM_MouseMove и если мышь перемешена на расстояние менее заданного тобой от последней точки, то возращать последнее положение точки.


 
Skier   (2003-11-11 13:24) [2]

Примерно так :


function TSomeClass.AdjustXStep(const AXToAdjust: Integer): Integer;
begin
if oSnapToGrid in FOptions then
Result := Round(AXToAdjust / FXStep) * FXStep
else
Result := AXToAdjust;
end;

function TSomeClass.AdjustYStep(const AYToAdjust: Integer): Integer;
begin
if oSnapToGrid in FOptions then
Result := Round(AYToAdjust / FYStep) * FYStep
else
Result := AYToAdjust;
end;


 
Dr. Well   (2003-11-11 13:49) [3]

это-то понятно..
Как сообщение отловить?
Я вешал это на MouseMove, но получается постоянное выполнение этого события, пока мышь не слиняет с формы...


 
Skier   (2003-11-11 13:50) [4]

>Dr. Well (11.11.03 13:49) [3]

> Я вешал это на MouseMove, но получается постоянное выполнение
> этого события, пока мышь не слиняет с формы...

А тебе какая логика от MouseMove нужна ?


 
Dr. Well   (2003-11-11 14:04) [5]

Skier, дайте мне пожалуйста кусок кода, как это событие отловить, если есть или хотя бы приблизительно.


 
TUser   (2003-11-11 15:07) [6]

Можно просто поток сотворить и там работать через TMouse - проверить положение, изменить положение и т.д.


 
Skier   (2003-11-11 15:10) [7]


> Можно просто поток сотворить

Это ещё зачем ?



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.11.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.011 c
14-66113
Thor
2003-10-27 22:50
2003.11.20
название песни и исполнитель.


3-65739
Mamed
2003-10-31 16:37
2003.11.20
DBexpress


14-66069
volser
2003-10-29 11:00
2003.11.20
Часы виды


1-65879
TUser
2003-11-09 02:08
2003.11.20
Abstract error


1-65881
Win error
2003-11-09 08:25
2003.11.20
консольное приложение





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский