Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 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




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.14;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.034 c
1-42479           cpp                   2001-12-25 13:11  2002.01.14  
Как изменить свойство в EXE


7-42576           РУС                   2001-09-25 22:14  2002.01.14  
Информация


3-42390           Bizon                 2001-12-13 16:26  2002.01.14  
Что происходит с ролями?


3-42357           Cossys                2001-12-11 18:02  2002.01.14  
Хитрый фильтр - никак не работает


6-42533           Knight                2001-10-17 17:55  2002.01.14  
Решил использовать УДП но метода коннект не нашёл...