- Delphiartiklar, tips, forum, länksamling - 

      

START | DELPHI | LÄNKARGÄSTBOK 




 Forum

Grundkurs
  »Introduktion
  »Snabbguide
  »Komponenter
  »Händelser
  »Strängar
  »Räkna med Delphi   »Egna typer
  »Selektion
  »Iteration
  »Menyer
  »Funktioner
  »Arraystrukturer

Tips & Tricks
  »Nya tips
  »Blandat
  »Databaser
  »Filer
  »Forms
  »Grafik
  »Internet
  »Komponenter
  »Matematik
  »Multimedia
  »Objekt/ActiveX
  »Skrivare
  »Strängar
  »System
  »Mest lästa tips

Artiklar
  »Delphi och ADO
  »Bygga en DLL
  »Skapa en enkel rapport
  »Hantera registret
  »Enheter, units
  »Klassen TCanvas
  »Använd LookUp Controls

 Nya tips
 Lägg till tips
 Delphilänkar
 Gästbok

 

TPanel med rundade hörn Kategori: Komponenter
Inlagt: 2005-09-26
Läst: 996
Inlagt av: Staffan Berg
Beskrivning
Visa rundade hörn på en TPanel med denna metod.
Kod
procedure TForm1.FormCreate(Sender: TObject); 
const 
 bgcolor = $00FFDDEE; 
 linecolor = $00554366; 
var 
 img: array of TImage; 
 reg: hrgn; 
 i: Integer; 
begin 
 for i := 0 to ComponentCount - 1 do 
 begin 
  if Components[i].ClassName = 'TPanel' then 
  begin 
   setlength(img, Length(img) + 1); 
   img[i] := TImage.Create(Self); 
   img[i].Width := (Components[i] as TPanel).Width; 
   img[i].Height := (Components[i] as TPanel).Height; 
   img[i].Parent := (Components[i] as TPanel); 
   img[i].Canvas.Brush.Color := bgcolor; 
   img[i].Canvas.pen.Color := bgcolor; 
   img[i].Canvas.Rectangle(0,0,img[i].Width, img[i].Height); 
   img[i].Canvas.pen.Color := linecolor; 
   img[i].Canvas.RoundRect(0,0,img[i].Width - 1,img[i].Height - 1,20,20); 
   reg := CreateRoundRectRgn(0,0,(Components[i] as TPanel).Width, 
    (Components[i] as TPanel).Height, 20,20); 
   setwindowrgn((Components[i] as TPanel).Handle, reg, True); 
   deleteobject(reg); 
  end; 
 end; 
end; 

 
 
© Copyright 2005 - Staffan Berg
- Alla rättigheter förbehålles -