Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.11.07;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.01 c
3-21456
sdram
2002-10-21 14:22
2002.11.07
Удаляющий запрос


7-21841
Ученик
2002-09-04 11:35
2002.11.07
Глобальные hook-и


4-21872
Velocity
2002-09-25 08:55
2002.11.07
пара ламерских вопросов


1-21588
Tornado
2002-10-29 21:34
2002.11.07
Ничего не понимаю....


1-21468
Дмитрий К.К.
2002-10-26 10:07
2002.11.07
Получить TTreeNode





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский