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

Вниз

DrawFocusRect   Найти похожие ветки 

 
>|<   (2012-03-17 14:23) [0]

Здравствуйте!
Работает ли данная функция в Windows 7?

Привожу код, который не работает(компилировал в Delphi 7)

procedure TfrmParseImages.imgBlankMouseMove(Sender: TObject;
 Shift: TShiftState; X, Y: Integer);

begin
  if Capturing then
 begin
   DrawFocusRect(imgBlank.Canvas.Handle,MakeRect(StartPlace,EndPlace));
   EndPlace.x := X;
   EndPlace.y := Y;
   DrawFocusRect(imgBlank.Canvas.Handle,MakeRect(StartPlace,EndPlace));
 end;

 if opdScan.FileName = "" then
   Exit;

 sbMain.Panels[3].Text := IntToStr(x) + "," + IntToStr(y);
 sbMain.Panels[5].Text := IntToStr(Round(x / imgBlank.Width * 10000)) + "," + IntToStr(Round(y / imgBlank.Height * 10000));
 sbMain.Panels[6].Text := ColorToString(imgBlank.Canvas.Pixels[x, y])
end;
procedure TfrmParseImages.imgBlankMouseDown(Sender: TObject;
 Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if Captured then
   DrawFocusRect(imgBlank.Canvas.Handle,MakeRect(StartPlace, EndPlace));
 StartPlace.x := X;
 StartPlace.y := Y;
 EndPlace.x := X;
 EndPlace.y := Y;
// DrawFocusRect(imgBlank.Canvas.Handle, MakeRect(StartPlace, EndPlace));
 Capturing := true;
 Captured := true;
end;

procedure TfrmParseImages.imgBlankMouseUp(Sender: TObject;
 Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
 Capturing := false;
end;


 
>|<   (2012-03-17 15:03) [1]

Похоже я использую не ту канву, на которой пытаюсь рисовать...
Если использовать канву формы, на которой лежит Image, то FocusRect рисуется, а если использовать канву Image.Picture.Bitmap.Canvas , то прямоугольник не рисуется.

Если на форме лежит ScrollBox и в нем Image, то какую канву нужно использовать, чтобы увидеть FocusRect?


 
begin...end ©   (2012-03-17 15:06) [2]

> >|<   (17.03.12 14:23)
> DrawFocusRect(imgBlank.Canvas.Handle,MakeRect(StartPlace, EndPlace))

(Sender as TImage).Canvas.DrawFocusRect(Rect(StartPlace, EndPlace)) - так тоже не работает?


 
>|<   (2012-03-17 15:23) [3]


> (Sender as TImage).Canvas.DrawFocusRect(Rect(StartPlace,
>  EndPlace)) - так тоже не работает?

Спасибо, работает!



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

Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.086 c
2-1331979813
>|<
2012-03-17 14:23
2013.03.22
DrawFocusRect


15-1344959281
Рекрут
2012-08-14 19:48
2013.03.22
Что должен уметь сисадмин?


15-1339158733
oxffff
2012-06-08 16:32
2013.03.22
Производственный календарь. Если web сервис бесплатный?


15-1346788652
_oxffff
2012-09-04 23:57
2013.03.22
Хех. Barry сказал Embarcadero bye.


15-1332455404
Юрий
2012-03-23 02:30
2013.03.22
С днем рождения ! 22 марта 2012 четверг





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский