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

Вниз

Как нарисовать прозрачный прямоугольник   Найти похожие ветки 

 
Phisio   (2001-12-26 15:46) [0]

Как нарисовать прозрачный прямоугольник на форме при левом нажатии кнопки мыши и удерживании, а при отпускании он остаётся на форме


 
Romkin ©   (2001-12-26 15:51) [1]

см DrawFocusRect, подаешь Canvas.Handle & Rect: TRect, при повторном вызове - сам сотрет, и обрабатываешь OnMouseDown, OnMouseMove, на OnMouseUp - просто рисуешь shape по TRect


 
Anatoly Podgoretsky ©   (2001-12-26 17:17) [2]

Зачем Shape, не проще ли Rectangle раз уж остальное делается на той же канве и есть уже готовый Rect


 
avr555 ©   (2001-12-26 18:08) [3]

А как можно стереть с Canvas например, Rectanle?
Каким цветом нужно зарисовывать?


 
Anatoly Podgoretsky ©   (2001-12-26 19:11) [4]

Ни как, если только ты не сохранишь все точки под ним.


 
Andrey196 ©   (2001-12-26 19:48) [5]


COPYRIGHT ANDREY196 @ 2001
Andrey196@mail.ru

Еще горячая тока что написал держи:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
TForm1 = class(TForm)
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
beginmousex,beginmousey,mouseformx,mouseformy:integer;
moused:integer;
implementation

{$R *.DFM}

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
beginmousex:=x;
beginmousey:=y;
moused:=1;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if moused=1 then Begin
canvas.brush.style:=bsclear;
canvas.pen.color:=form1.color;
canvas.Rectangle(beginmousex,beginmousey,mouseformx,mouseformy);
mouseformx:=mouse.CursorPos.x-left;
mouseformy:=mouse.CursorPos.y-top;
canvas.pen.color:=clblack;
canvas.brush.style:=bsclear;
canvas.Rectangle(beginmousex,beginmousey,mouseformx,mouseformy);
end;
end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
moused:=0;
canvas.Brush.color:=clwhite;
canvas.Rectangle(beginmousex,beginmousey,mouseformx,mouseformy);

end;

end.


 
Anatoly Podgoretsky ©   (2001-12-26 22:04) [6]

Попробуй поверх какой нибудь картинки


 
Andrey196 ©   (2001-12-26 22:08) [7]

Попробывал.... прикольно!!


 
Anatoly Podgoretsky ©   (2001-12-26 23:06) [8]

А все потому, что не обратил внимания на рекомендуемый здесь DrawFocusRect



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

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

Наверх




Память: 0.48 MB
Время: 0.013 c
1-42429
VID
2001-12-22 16:28
2002.01.14
Выделение слова из строки


1-42453
dolphin
2001-12-25 02:01
2002.01.14
преобразование


1-42478
ВС
2001-12-25 15:38
2002.01.14
Как с помощью компонента NMHTTP закачать все содержимое


14-42545
Dush
2001-11-13 16:20
2002.01.14
Проблема с винтом


4-42638
Jazzy$
2001-11-10 23:17
2002.01.14
Фокус ввода.