|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.04.2015, 08:58 | #1 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
SetCapture и выход курсора за пределы окна
Здравствуйте.
В главном окне есть child-окно класса Static с переопределенной оконной функцией. Код:
С этим можно что-то сделать? |
19.04.2015, 09:31 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
|
19.04.2015, 10:25 | #3 | |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
Цитата:
Например: нужно рисовать прямоугольник. Если курсор выходит за пределы окна, то событие WM_MOUSEMOVE перестаёт приходить. А попасть на первый пиксель, соответствующий точке 0 на клиентской области без выхода за пределы - очень сложно. Это пиксельхантинг. |
|
19.04.2015, 12:13 | #4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Разницу между int и unsigned int знаете?
А как преоразуется unsigned short в int? Какой у вас тип x и что возвращает loword? И еще, у вас есть if Lpar<=0 then y := 0 else Но почему-то для x такого нет - почему? Ответьте себе на эти вопросы и сможете решить проблему. |
25.04.2015, 10:51 | #5 | |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
Знаю,но при чем тут это? Это же Delphi, а не С. В делфи нет типов unsigned, а целочисленные типы конвертируются друг в друга простым присваиванием.
У меня х : integer, а loword возвращает значение типа word. Это диапазон 0..65535, что входит в integer. Цитата:
Если делать так, то как я узнаю, с какой стороны за пределами окна находится курсор? GetCursorPos? Больше никак? Последний раз редактировалось BLACK_RAIN; 25.04.2015 в 11:08. |
|
25.04.2015, 11:42 | #6 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Cardinal к примеру. Цитата:
Всмысле при отрицательном же будет белиберда.
I'm learning to live...
|
||
25.04.2015, 12:10 | #7 | |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
ах да, точно. Они же просто названы по-другому.
Цитата:
А как их доставать из lparam, если не loword/hiword? |
|
25.04.2015, 13:33 | #8 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Да так и доставай. LParam - и будет тебе integer.
Или тебе smallint нужен?
I'm learning to live...
|
25.04.2015, 13:57 | #9 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
|
25.04.2015, 14:04 | #10 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Так объявите x и y типом smallint
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Выход за пределы массива | NFXrus | Помощь студентам | 10 | 09.12.2011 23:13 |
выход за пределы массива(с++) | Lazy maximka | Помощь студентам | 2 | 13.11.2011 16:11 |
C++ выход за пределы строки (char) | Alex11223 | Помощь студентам | 4 | 20.04.2011 20:27 |
C++ - выход за пределы массива | kefir | Помощь студентам | 5 | 12.06.2010 14:09 |
Как определить выход курсора за пределы объекта Image | Дамир | Общие вопросы Delphi | 7 | 29.03.2009 21:59 |