Форум: "Основная";
Текущий архив: 2002.01.14;
Скачать: [xml.tar.bz2];
ВнизКак нарисовать прозрачный прямоугольник Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.004 c