Cortar Form
17/02/2016
0
Junior Santos
Post mais votado
18/02/2016
Isso mesmo.
Aqui: https://www.dropbox.com/s/a80fcxs0qzhxgnp/buraco%20no%20formulario.rar?dl=0
[img:descricao=print]http://arquivo.devmedia.com.br/forum/imagem/244662-20160218-133817.png[/img]
Raylan Zibel
Mais Posts
17/02/2016
Raylan Zibel
Cortar tipo deixar um buraco no form ou cortar tipo capturar uma imagem da parte selecionada?
17/02/2016
Junior Santos
Tentei assim mais nao corto o form aonde ta o panel.
procedure TForm1.Button1Click(Sender: TObject);
var
Region, Region2 : hrgn;
x1,x2,y1,y2 : integer;
begin
x1 := Panel1.Top;
x2 := Panel1.Left;
y1 := panel1.Width;
y2 := panel1.Height;
Form1.FormStyle:= fsStayOnTop;
Region := CreaterectRgn(0,0,width,height);
Region2 := CreaterectRgn(x1,x2,y1,y2);
CombineRgn(region, region, region2, RGN_DIFF);
SetWindowRgn(handle, region, true);
end;
OBS: O Corte que quero fazer é quadrado
18/02/2016
Ricardo Araujo
Att:
rbbarreto@hotmail.com
18/02/2016
Junior Santos
EDT: Ja mandei no seu email.
Desde ja, Obrigado.
18/02/2016
Raylan Zibel
EDT: Ja mandei no seu email.
Desde ja, Obrigado.
[img:descricao=print]http://arquivo.devmedia.com.br/forum/imagem/244662-20160218-094229.png[/img]
https://www.dropbox.com/s/a80fcxs0qzhxgnp/buraco%20no%20formulario.rar?dl=0
Feito em Delphi 7.
18/02/2016
Junior Santos
EDT: Ja mandei no seu email.
Desde ja, Obrigado.
[img:descricao=print]http://arquivo.devmedia.com.br/forum/imagem/244662-20160218-094229.png[/img]
https://www.dropbox.com/s/a80fcxs0qzhxgnp/buraco%20no%20formulario.rar?dl=0
Feito em Delphi 7.
Opa eh tipo isso mesmo mais a diferença eh que queria furar o form podendo mexer noque esta atraz atraves do furo por isso tava usando aquela função la so o problema eh que nao tava furando no local que eu estava setando.
18/02/2016
Raylan Zibel
EDT: Ja mandei no seu email.
Desde ja, Obrigado.
[img:descricao=print]http://arquivo.devmedia.com.br/forum/imagem/244662-20160218-094229.png[/img]
https://www.dropbox.com/s/a80fcxs0qzhxgnp/buraco%20no%20formulario.rar?dl=0
Feito em Delphi 7.
Opa eh tipo isso mesmo mais a diferença eh que queria furar o form podendo mexer noque esta atraz atraves do furo por isso tava usando aquela função la so o problema eh que nao tava furando no local que eu estava setando.
Baixe o projeto e teste e valide se funciona como quer.
https://www.dropbox.com/s/a80fcxs0qzhxgnp/buraco%20no%20formulario.rar?dl=0
18/02/2016
Junior Santos
EDT: Ja mandei no seu email.
Desde ja, Obrigado.
[img:descricao=print]http://arquivo.devmedia.com.br/forum/imagem/244662-20160218-094229.png[/img]
https://www.dropbox.com/s/a80fcxs0qzhxgnp/buraco%20no%20formulario.rar?dl=0
Feito em Delphi 7.
Opa eh tipo isso mesmo mais a diferença eh que queria furar o form podendo mexer noque esta atraz atraves do furo por isso tava usando aquela função la so o problema eh que nao tava furando no local que eu estava setando.
Baixe o projeto e teste e valide se funciona como quer.
https://www.dropbox.com/s/a80fcxs0qzhxgnp/buraco%20no%20formulario.rar?dl=0
Sim eu baixei ele e testei, como eu falei ele apenas mostra oque ta atraz, eu preciso interagir com oque esta atraz atraves desse burraco que no caso seria um buraco no formulario.
Exemplo:
procedure TForm1.Button1Click(Sender: TObject);
var
Wnd: HWnd;
Region1, Region2: HRgn;
Rect: TRect;
begin
Wnd:=Application.MainForm.Handle;
GetWindowRect(Wnd,Rect);
Region1:=CreateRectRgn(0,0,Rect.Right-Rect.Left,Rect.Bottom-Rect.Top);
Region2:=CreateRectRgn(10,30,150,120);
CombineRgn(Region1,Region1,Region2,RGN_DIFF);
SetWindowRgn(Wnd,Region1,True);
end;
No caso iria usa o mouse pra seta o local e tamanho ou ate mesmo um panel que colocarei em cima do local do tamanho desejado.
18/02/2016
Raylan Zibel
[img:descricao=print]http://arquivo.devmedia.com.br/forum/imagem/244662-20160218-113036.png[/img]
18/02/2016
Junior Santos
[img:descricao=print]http://arquivo.devmedia.com.br/forum/imagem/244662-20160218-113036.png[/img]
Putz Perfeitamente... cara obrigado salvo eu aqui... obrigado de verdade...
EDT: so uma pergunta, aonde o mouse ta selecionando ah como fazer a janelinha igual o windows tem ?
18/02/2016
Raylan Zibel
[img:descricao=print]http://arquivo.devmedia.com.br/forum/imagem/244662-20160218-113036.png[/img]
Putz Perfeitamente... cara obrigado salvo eu aqui... obrigado de verdade...
EDT: so uma pergunta, aonde o mouse ta selecionando ah como fazer a janelinha igual o windows tem ?
Perdão, não entendi exatamente o que precisa.
18/02/2016
Raylan Zibel
18/02/2016
Junior Santos
Isso mesmo.
18/02/2016
Raylan Zibel
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Buttons, jpeg, xpman; type TForm1 = class(TForm) procedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); private { Private declarations } x1, y1, x2, y2: Integer; ptnd: Boolean; AnchorX, AnchorY, CurX, CurY: Integer; public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} const vH: Byte = 10; vV: Byte = 30; procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin x1 := x + vH; y1 := y + vV; ptnd := True; AnchorX := X; CurX := X; AnchorY := Y; CurY := Y; end; procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var region1, region2: hrgn; begin x2 := x + vH; y2 := y + vV; //if Shift = [ssCtrl] then begin region1 := CreateRectRgn(0, 0, Self.Width, Self.Height); region2 := CreateRectRgn(x1, y1, x2, y2); CombineRgn(region1, region1, region2, RGN_DIFF); SetWindowRgn(Handle, region1, True); end; if ptnd then begin ptnd := False; Canvas.Pen.Mode := pmNot; Canvas.Brush.Style := bsClear; Canvas.Rectangle(AnchorX, AnchorY, CurX, CurY); end; end; procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin Caption := 'x1: ' + IntToStr(x1) + '; y1 ' + IntToStr(y1) + '; x2 ' + IntToStr(x2) + '; y2 ' + IntToStr(y2) + ';'; if ptnd then begin Canvas.Pen.Mode := pmNot; Canvas.Pen.Width := 2; Canvas.Brush.Style := bsClear; Canvas.Rectangle(AnchorX, AnchorY, CurX, CurY); CurX := X; CurY := Y; Canvas.Rectangle(AnchorX, AnchorY, CurX, CurY); end; end; end.
Clique aqui para fazer login e interagir na Comunidade :)