Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.16;
Скачать: CL | DM;

Вниз

Цвет пикселя от положния курсора на экране   Найти похожие ветки 

 
asvt   (2004-12-24 08:25) [0]

Доброе время суток,
Нужно получить цвет пикселя не взависимости в моей программе курсор или нет
В какую сторону копать подскажите?


 
MBo ©   (2004-12-24 08:40) [1]

в сторону GetDC(0) и GetPixel


 
asvt   (2004-12-24 08:56) [2]

>>Mbo
Спасибо все понятно, вот только куда это впихать

var
P: TPoint;
C: COLORREF;
begin
GetCursorPos(P);
DC:= GetDC(0);
C:= GetPixel(DC,P.x,P.y);
ReleaseDC(0,0);
Panel1.Color:= C;

что то в этом роде
но тогда в какой процедуре ,по таймеру наверно не очень хорошо?


 
asvt   (2004-12-24 08:58) [3]

Да забыла сказать
при перемещение курсора цвет тоже менятся на контроле должен


 
KSergey ©   (2004-12-24 09:15) [4]

1) OnMouseMove (только я не помню генерится ли оно когда мышь вне компонента)

2) см. SetCapture/ReleaseCapture, обрабатывать WM_MOUSEMOVE


 
asvt   (2004-12-24 09:25) [5]

KSergey ©   (24.12.04 09:15) [4]
1. Не генерится
2. Если обрабатывать WM_MouseMove, то это же тоже будет только для контрола, или нифига в спраке не поняла


 
MBo ©   (2004-12-24 09:31) [6]

>при перемещение курсора цвет тоже менятся на контроле должен
тогда придется хук на мышь ставить.


 
asvt   (2004-12-24 09:46) [7]

MBo ©   (24.12.04 09:31) [6]
>тогда придется хук на мышь ставить.

Думала в трех словах выражу
А тут все больше и больше поджидает

Да задача вот
Давим Button в Cheked Курсор пошел либо выбирать цвет из стандартного мною предоставленой сетке(палитры) либо пошел блуждать по форме и за ее приделы(в превью-панелке)показывается цвет от курсора(X,Y) , при клике мышью в любом месте сетка сворачивается и цвет передается уже непосредственно в свойства объектов


 
asvt   (2004-12-24 10:33) [8]

Вообщем думала что таймер это слишком тормозно,
оказалось что нет
Осталось как кликнуть в любом месте экрана и остановить его.

А че коряво то курсор то везде разный
А хотелось бы свой задать, а как это сделать для всего экрана


 
KSergey ©   (2004-12-24 11:40) [9]

> [8] asvt   (24.12.04 10:33)
> А че коряво то курсор то везде разный
> А хотелось бы свой задать, а как это сделать для всего экрана

Видимо все же хук с обработкой WM_SETCURSOR


 
asvt   (2004-12-24 12:07) [10]

KSergey ©   (24.12.04 11:40) [9]

А если прогу аварийно завершить курсор навечно останется?


 
KSergey ©   (2004-12-24 12:39) [11]

Хороший вопрос... ;)
Признаться, я не знаю что будет с хуком... Я не спец, но есть тут гиганты мысли, думаю скажут

Если же вообще система не умрет - то при следующем же минимальном движении мыши вновь придет сообщение WM_SETCURSOR которе уже (надеюсь) попадет куда надо (к окнам, которые выжили таки на экране) - и он ве сделаю как надо.

Так что, думаю, все будет хорошо. Ну либо все будет плохо - а тогда уже эти мелочи (курсор) никого нафиг волновать не будут ;)


 
asvt   (2004-12-24 13:22) [12]

А Hook на мышь можно написать без использования DLL?
А то я у Рихтора только с DLL пример вижу
А мне это не как так как хочу как компоненту оформить, а DLL к компоненте не нужна
Точнее компонента та уже есть, только вот хочется добавить такую возможность.


 
KSergey ©   (2004-12-24 13:31) [13]

Тут хуки обсуждались не раз и не два.. Пошукайте по форуму... Может в разделе WinAPI

Но похоже - хук на все приложения - это dll. Хотя, а вот ведь надо чтобы работало лишь при активности проложения.. Может и можно?
Ну можно эту возможность опционально включать... Есть dll -ставим глобальный. Т.е. полный функционал. Нет возможности - ну тогда только в пределах приложения...

Впрочем, чего я гадаю...


 
grom   (2004-12-24 17:47) [14]

http://delphimaster.net/view/8-1102772762/



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

Текущий архив: 2005.01.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.023 c
1-1103911798
Guitar
2004-12-24 21:09
2005.01.16
Ошибка I/O error 102. Что за ошибка и как убрать?


1-1104380084
race1
2004-12-30 07:14
2005.01.16
форма на форме


14-1103799935
Ega23
2004-12-23 14:05
2005.01.16
Вопрос по C++. Скорее даже по среде VS


3-1103107737
Миша
2004-12-15 13:48
2005.01.16
многострочный вывод данных в отчет


6-1098782553
Arkady
2004-10-26 13:22
2005.01.16
Отправка письма