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

Вниз

Помогите поставить точку на координатной плоскости   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
15-1195585647
lookin
2007-11-20 22:07
2007.12.23
Непонятно - а чем телефон лучше песни?


3-1187258076
Lavrenty
2007-08-16 13:54
2007.12.23
Некорректное отключение от базы


4-1180708954
Углук
2007-06-01 18:42
2007.12.23
Ctrl+Insert через SendMessage


15-1195992791
nstur
2007-11-25 15:13
2007.12.23
Zip


2-1195943414
Бэтман
2007-11-25 01:30
2007.12.23
Вопрос по компоненту RadioGroup