Autor Beitrag
MathiasH
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 699

WinXP, Win98SE, Debian, Win95
D5 Stand, D6 Prof
BeitragVerfasst: Sa 29.06.02 08:40 
ein Form beliebig "verformen"?

Ein Weg wie man seine Forms verformen kann:

1. Rundes Fenster
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm1.FormCreate(Sender: TObject);
var
  HR: HRgn;
  p:array[0..3of TPoint;
begin
  p[0]:=Point(Width div 2,1);
  p[1]:=Point(1, Height div 2);
  p[2]:=Point(Width div 2,Height);
  p[3]:=Point(Width, Height div 2);
  HR:= CreateEllipticRgn (00, Width, Height);
  SetWindowRgn(Handle, HR, True);
end;


2. und hier für Sprechblasen alla MSOffice:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure TForm1.FormCreate(Sender: TObject);
var
  formregion, secregion: HRGN;
  corners: Array [0..2of TPoint;
begin
  formregion := CreateRoundRectRgn(
                  00, clientwidth, clientheight-48,
                  4040 );
  corners[0] := Point( 50, clientheight-50 );  //editierungsmöglichkeit
  corners[1] := Point( 55, clientheight );   //für stern-Fenster etc.
  corners[2] := Point( 80, clientheight-50 );
  secregion := CreatePolygonRgn( corners, 3, WINDING );
  CombineRgn( formregion, formregion, secregion, RGN_OR );
  DeleteObject( secregion );
  SetWindowRgn( handle, formregion, true );
end;


für 2. braucht man auch noch dieses hier:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure TForm1.FormPaint(Sender: TObject);
var
  tempregn: HRGN;
begin
  With Canvas.Brush Do Begin
    Color := clBlack;
    Style := bsSolid;
  End;
  tempregn := CreateRectRgn(0,0,1,1);
  GetWindowRgn( Handle, tempregn );
  FrameRgn( Canvas.Handle, tempregn,
            Canvas.Brush.handle, 11 );
  DeleteObject( tempregn );          
end;


MathiasH
Moderiert von user profile iconjasocul: Beitrag geprüft am 25.05.2006

_________________
"Viel von sich reden, kann auch ein Mittel sein, sich zu verbergen."
Friedrich Nietzsche


Zuletzt bearbeitet von MathiasH am Sa 06.07.02 10:35, insgesamt 1-mal bearbeitet