![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Есть кнопка:
Код:
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); Есть еще другая кнопка.. вот кусочек из нее: Код:
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); а в процессе работы программы появляется сообщение "4872662" пробовал менять координаты всеравно не совпадает почему-то.. может то связанно как-то из за другой части кода? там выше: Код:
DC := CreateDC('Display', nil, nil, nil); Color := GetPixel(DC,x0,y0); всякие циклы.. DeleteDC(DC); мне просто нужно условие, типа если цвет пикселя в опредленной координате такой-то.. (как в эдите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); После чего появляется сообщение 1184431. Но если курсор навести прямо на точку 1067, 624 то оба варианта покажут 1381841, хотя не обязательно на ту точку наводить, во втором случает такой результат будет если просто навести на ту кнопку.. Ниче не понимаю.. Последний раз редактировалось nikki4, 13.04.2010 в 00:35. |