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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.044 c
4-1096441843
TankMan
2004-09-29 11:10
2005.01.16
Как включить компьютер в определенное время?


14-1103875670
ALexA
2004-12-24 11:07
2005.01.16
окраска DbMemo1


1-1104413587
AndreyK_6
2004-12-30 16:33
2005.01.16
Что с этим кодом?


4-1101478690
dima_shapkin
2004-11-26 17:18
2005.01.16
первый видимый символ


14-1104143086
Lancelot
2004-12-27 13:24
2005.01.16
Вот, оказывется, кто придумал Deathmatch и Capture The Flag :)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский