Форум: "Начинающим";
Текущий архив: 2007.12.23;
Скачать: [xml.tar.bz2];
ВнизПомогите поставить точку на координатной плоскости Найти похожие ветки
← →
NaRuTo (2007-11-25 10:38) [0]Я создаю программу, которая умеет ставить точки на координатной плоскости, но у меня за единичный отрезок 14 px, если я хочу поставить точку, то мне приходится прицеливаться точно в точку.
Как мне сделать так чтобы, если курсор направить ближе к точке, то точка будет ставится в этой точке?
← →
{RASkov} (2007-11-25 11:24) [1]> [0] NaRuTo (25.11.07 10:38)
Зачем этот вопрос задавать в конфе по компонентам?
Вот.... так.... попробуй:const CELLSIZE = 25;
HALFCELLSIZE = CELLSIZE div 2;
implementation
{$R *.dfm}
procedure CorrectXY(const FromX, FromY: Integer; var ToX, ToY: Integer; const Diag: Boolean=False);
var CorrectX, CorrectY: Integer;
begin
CorrectX:=(FromX mod CELLSIZE);
CorrectY:=(FromY mod CELLSIZE);
ToX:=FromX-CorrectX; if CorrectX>HALFCELLSIZE then INC(ToX, CELLSIZE);
ToY:=FromY-CorrectY; if CorrectY>HALFCELLSIZE then INC(ToY, CELLSIZE);
if Diag then if ABS(XCen-ToX) > ABS(YCen-ToY) then ToY:=YCen else ToX:=XCen;
end;
← →
{RASkov} (2007-11-25 11:28) [2]CELLSIZE - выставь свое значение... т.е. 14.
параметр const Diag тебе наверное не нужен, я просто из своего модуля скопировал кусок "не глядя"....
ЗЫ Эх.... думаю ветку перенесут в "начинающие"....
← →
Zeqfreed © (2007-11-25 12:05) [3]
x" = (x + 7) / 14
?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.12.23;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.057 c