AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ecken abrunden?

Ein Thema von ColdFire · begonnen am 7. Dez 2006 · letzter Beitrag vom 7. Dez 2006
Antwort Antwort
ColdFire

Registriert seit: 20. Mai 2003
63 Beiträge
 
Delphi 7 Professional
 
#1

Ecken abrunden?

  Alt 7. Dez 2006, 13:48
Hy Leute...

Wo bzw unter welchem stichwort kann ich nachschaun um meine mainform zu ändern (ecken abrunden etc) ?
Vill hat ja jemand ein beispiel für mich währe supi

Danke CF
thx
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Ecken abrunden?

  Alt 7. Dez 2006, 13:56
Unter "Create*Rgn" kannst du schaun
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
ColdFire

Registriert seit: 20. Mai 2003
63 Beiträge
 
Delphi 7 Professional
 
#3

Re: Ecken abrunden?

  Alt 7. Dez 2006, 14:04
Naja rund is mir klar aber wie runde ich die ecken ab ?

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  R: HRgn;
  a: integer;
begin
  a := -25;
  Height := 500;
  Width := 550;
  R := CreateEllipticRgn(-a, - a, Width - 45, Height - 45);
  SetWindowRgn(Handle, R, True);
end;
thx
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Ecken abrunden?

  Alt 7. Dez 2006, 14:08
Wenn du CreateElippticRgn verwendest ist klar das eine Elypse draus wird. Konkret wäre eventuell CreateRoundRectRgn für dich das Richtige.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#5

Re: Ecken abrunden?

  Alt 7. Dez 2006, 14:09
Mal beim Nachbarn vorbeischauen: MSDN-Library durchsuchenCreateRoundRectRgn
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#6

Re: Ecken abrunden?

  Alt 7. Dez 2006, 14:11
Beispiel:

Delphi-Quellcode:
procedure MakeRounded(Control: TWinControl);
var
  R: TRect;
  Rgn: HRGN;
begin
  with Control do
  begin
    R := ClientRect;
    rgn := CreateRoundRectRgn(R.Left, R.Top, R.Right, R.Bottom, 20, 20);
    Perform(EM_GETRECT, 0, lParam(@r));
    InflateRect(r, - 5, - 5);
    Perform(EM_SETRECTNP, 0, lParam(@r));
    SetWindowRgn(Handle, rgn, True);
    Invalidate;
  end;
end;
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Ecken abrunden?

  Alt 7. Dez 2006, 14:13
@Balu + Threadstarter: Das erzeugte HRGN sollte nach dem Anwenden wieder gelöscht werden.
[Edit]ist vermutlich unsinn was ich geschrieben habe[/Edit]
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
ColdFire

Registriert seit: 20. Mai 2003
63 Beiträge
 
Delphi 7 Professional
 
#8

Re: Ecken abrunden?

  Alt 7. Dez 2006, 14:24
Schon erledigt DANKE !

Delphi-Quellcode:
  procedure TForm1.FormCreate(Sender: TObject);
    var
      rgn: HRGN;
    begin
      rgn := CreateRoundRectRgn(0,// x-coordinate of the region's upper-left corner
        0, // y-coordinate of the region's upper-left corner
        ClientWidth, // x-coordinate of the region's lower-right corner
        ClientHeight, // y-coordinate of the region's lower-right corner
        40, // height of ellipse for rounded corners
        40); // width of ellipse for rounded corners
      SetWindowRgn(Handle, rgn, True);
    end;
thx
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#9

Re: Ecken abrunden?

  Alt 7. Dez 2006, 15:03
Zitat von SirThornberry:
@Balu + Threadstarter: Das erzeugte HRGN sollte nach dem Anwenden wieder gelöscht werden.
[Edit]ist vermutlich unsinn was ich geschrieben habe[/Edit]
Stimmt
Zitat von SetWindowRgn:
you should not make any further function calls with this region handle. In particular, do not close this region handle.
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz