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

Вниз

DrawFocusRect: ПОЧЕМУ???   Найти похожие ветки 

 
LongIsland ©   (2002-10-28 20:06) [0]

Вот такая проблема: чтобы выделить часть рисунка в TImage использую DrawFocusRect. НО! Когда веду указатель мыши из левого верхнего угла в правый нижний и из правого верхнего в левый нижний, то все ОК. Если веду снизу вверх медленно, то тоже все ОК. А если в последнем случае несколько быстрее веду указатель мыши несколько быстрее, то прямоугольник срывается и исчезает:-( WHY???

ЗЫ: Код приводится...

var
Form1: TForm1;
dr: Boolean;
Rec: TRect;
X0, Y0: Integer;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
dr:=true;
setCapture(handle);
X0:=x; Y0:=y;
Rec.Left:=x0;
rec.Top:=y0;
rec.BottomRight:=rec.TopLeft;
canvas.DrawFocusRect(Rec);
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if dr then
begin
canvas.DrawFocusRect(rec);
if (x>=Rec.Left) and (y>=Rec.Top) then
begin
rec.Right:=x;
rec.Bottom:=y;
end
else
if (x<Rec.Left) then
begin
if y>=Rec.Top then
begin
Rec.Right:=X0;
Rec.Left:=x;
Rec.Bottom:=y;
end
else
begin
Rec.Right:=X0;
Rec.Left:=x;
Rec.Top:=y;
Rec.Bottom:=Y0;
end;
end
else
begin
Rec.Right:=x;
Rec.Top:=y;
Rec.Bottom:=Y0;
end;

canvas.DrawFocusRect(rec);
end;
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if dr then
begin
releaseCapture;
dr:=false;
//invalidate;
end;
end;


 
LongIsland ©   (2002-10-28 21:40) [1]

Ситуация усугубляется... Переопределение OnMouseMove на WM_MOUSEMOVE (ну, вы понимаете о чем я :-)) ничего не дало:-(
Может кто все-таки ошибку видит?..


 
LongIsland ©   (2002-10-29 09:23) [2]

Неужели никто не в силах помочь:-(



Страницы: 1 вся ветка

Текущий архив: 2002.11.07;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
1-21578
irmantukas
2002-10-30 03:21
2002.11.07
BDE


4-21847
d-coder
2002-09-23 19:31
2002.11.07
В чем прикол??????????????????????????


14-21791
Paha_pmk
2002-10-19 13:56
2002.11.07
Как в делфи 6.0 сохранить проект как для делфи 5.0 ???


6-21720
zx
2002-09-10 17:48
2002.11.07
NMSMTP1.PostMessage.ToName ?


1-21537
_saha_
2002-10-29 13:43
2002.11.07
ламерский вопрос