Есть кнопка:
Код:
GetCursorPos (mish);
edit8.text:=inttostr(mish.X);
edit9.Text:=inttostr(mish.Y);
HC := CreateDC('Display', nil, nil, nil);
edit12.text:= inttostr(GetPixel(HC,mish.X,mish.Y));
DeleteDC(HC);
Она записывает Х и У координаты мыши, а еще цвет точки в эдит12
Есть еще другая кнопка.. вот кусочек из нее:
Код:
HC:= CreateDC('Display', nil, nil, nil);
if strtoint(edit12.text)<>GetPixel(HC,strtoint(edit8.text),strtoint(edit9.text)) then
begin
showmessage (inttostr(GetPixel(HC,strtoint(edit8.text),strtoint(edit9.text))));
break;
end;
DeleteDC(HC);
Получается например в эдите 12 "5794559"
а в процессе работы программы появляется сообщение "4872662"
пробовал менять координаты всеравно не совпадает почему-то..
может то связанно как-то из за другой части кода?
там выше:
Код:
DC := CreateDC('Display', nil, nil, nil);
Color := GetPixel(DC,x0,y0);
всякие циклы..
DeleteDC(DC);
потом end; и то что выше с HC
мне просто нужно условие, типа если цвет пикселя в опредленной координате такой-то.. (как в эдите12) тогда сделать то-то..
для теста сделал:
Код:
GetCursorPos (mish);
edit13.text:=inttostr(mish.X);
edit14.text:=inttostr(mish.Y);
HC := CreateDC('Display', nil, nil, nil);
edit15.Text:=inttostr(GetPixel(HC,strtoint(edit13.text),strtoint(edit14.text)));
showmessage (inttostr(GetPixel(HC,1067,624)));
DeleteDC(HC);
Если навести курсором в какую-нибудь точку экрана, то прога в эдите15 показывает цвет, куда наведен курсор
После чего появляется сообщение 1184431.
Но если курсор навести прямо на точку 1067, 624 то оба варианта покажут 1381841, хотя не обязательно на ту точку наводить, во втором случает такой результат будет если просто навести на ту кнопку.. Ниче не понимаю..