AGB  ·  Datenschutz  ·  Impressum  







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

Eigenes panel

Ein Thema von Andreas L. · begonnen am 22. Apr 2006 · letzter Beitrag vom 22. Apr 2006
Antwort Antwort
Andreas L.
(Gast)

n/a Beiträge
 
#1

Eigenes panel

  Alt 22. Apr 2006, 11:15
Hi,
mit folgender Funktion erstelle ich eigene Panels:
Delphi-Quellcode:
function AddPicassaPanel(Parent: TPanel; Image, Title: String; OperationsMenu: TPopUpMenu; SubTitle: String = ''; ImageRollOver: String = ''):Boolean;
var
 PicassaPanel, PicassaHeader, PicassaContainer, PicassaToolbar : TPanel;
 PicassaImage: TImage;
 PicassaTitle, PicassaSubTitle, PicassaSelect, PicassaSelectAll, PicassaSelectNone: TLabel;
 PicassaBevelTop, PicassaBevelBottom, PicassaSeperator: TBevel;
 PicassaOperationsButton: TSpeedButton;
 PicassaPanelName: String;
begin
 //set name
 if PicassaPanels.Count>0 then
  begin
   PicassaPanelName:='PicassaPanel'+inttostr(PicassaPanels.count);
  end
 else
  begin
   PicassaPanelname:='PicassaPanel0';
  end;
 //create main layer
 PicassaPanel:=TPanel.Create(Parent);
 PicassaPanel.Name:=PicassaPanelName;
 PicassaPanel.Visible:=true;
 PicassaPanel.Align:=alTop;
 PicassaPanel.Color:=$008E6423;
 PicassaPanel.BevelOuter:=bvNone;
 PicassaPanel.Height:=208;
  //create top bevel
  PicassaBevelTop:=TBevel.Create(PicassaPanel);
  PicassaBevelTop.Name:=PicassaPanelName+'_BevelTop';
  PicassaBevelTop.Align:=alTop;
  PicassaBevelTop.Height:=1;
  PicassaBevelTop.Shape:=bsBottomLine;
  //create header
  PicassaHeader:=TPanel.Create(PicassaPanel);
  PicassaHeader.name:=PicassaPanelName+'_Header';
  PicassaHeader.align:=alTop;
  PicassaHeader.BevelOuter:=bvNone;
  PicassaHeader.Color:=$008E6423;
  PicassaHeader.height:=52;
   //create objects on header
    //Image
    PicassaImage:=TImage.Create(PicassaHeader);
    PicassaImage.Name:=PicassaPanelName+'_Image';
    PicassaImage.Picture.LoadFromFile(Image);
    PicassaImage.height:=48;
    PicassaImage.Width:=48;
    PicassaImage.Left:=4;
    PicassaImage.Top:=4;
    PicassaImage.Transparent:=true;
    //Title
    PicassaTitle:=TLabel.Create(PicassaHeader);
    PicassaTitle.Name:=PicassaPanelName+'_Title';
    PicassaTitle.Caption:=Title;
    PicassaTitle.Left:=56;
    PicassaTitle.Top:=4;
    PicassaTitle.Font.Color:=clWhite;
    PicassaTitle.Font.Name:='Arial';
    PicassaTitle.Font.Size:=12;
    PicassaTitle.Font.Style:=[fsBold];
    //SubTitle
    PicassaSubTitle:=TLabel.Create(PicassaHeader);
    PicassaSubTitle.Name:=PicassaPanelName+'_SubTitle';
    PicassaSubTitle.Caption:=SubTitle;
    PicassaSubTitle.Left:=56;
    PicassaSubTitle.Top:=26;
    PicassaSubTitle.Font.Color:=clWhite;
    PicassaSubTitle.Font.Name:='Arial';
    PicassaSubTitle.Font.Size:=10;
    PicassaSubTitle.Font.Style:=[fsBold];
    //Operations-Button
    PicassaOperationsButton:=TSpeedButton.Create(PicassaHeader);
    PicassaOperationsButton.Name:=PicassaPanelName+'_OperationsButton';
    PicassaOperationsButton.Anchors:=[akTop, akRight];
    PicassaOperationsButton.Caption:=PicassaOperations;
    PicassaOperationsButton.Font.Color:=$008E6423;
    PicassaOperationsButton.Font.Name:='Arial';
    PicassaOperationsButton.Font.Size:=10;
    PicassaOperationsButton.Font.Style:=[fsBold];
    PicassaOperationsButton.Height:=22;
    PicassaOperationsButton.Layout:=blGlyphRight;
    PicassaOperationsButton.Left:=Parent.Width-101;
    PicassaOperationsButton.Width:=97;
    PicassaOperationsButton.Top:=4;
  //create toolbar
  PicassaToolbar:=TPanel.Create(PicassaPanel);
  PicassaToolbar.Name:=PicassaPanelName+'_Toolbar';
  PicassaToolbar.align:=alTop;
  PicassaToolbar.BevelOuter:=bvNone;
  PicassaToolbar.Color:=$00E0E0E0;
  PicassaToolbar.Height:=24;
   //create objects on toolbar
  PicassaPanels.Add(PicassaPanelName);
end;
Leider sehe ich diese nicht auf meinen Hauptpanel (Parent). Wieso?
  Mit Zitat antworten Zitat
Benutzerbild von GuenterS
GuenterS

Registriert seit: 3. Mai 2004
Ort: Österreich > Bad Vöslau
760 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Eigenes panel

  Alt 22. Apr 2006, 11:17
Du musst die Parent Eigenschaften noch setzen.

Das was Du dem Constructor übergibst ist normalerweise der Owner, der hat aber nichts mit der Parent Eigenschaft zu tun.
Günter
Pünktlichkeit ist die Fähigkeit vorherzusagen um wieviel sich der Andere verspäten wird.
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#3

Re: Eigenes panel

  Alt 22. Apr 2006, 11:18
Zitat von GuenterS:
Du musst die Parent Eigenschaft noch setzen.
Wie meinst du das? Welche Eigenschaft muss gesetzt werden?
  Mit Zitat antworten Zitat
Benutzerbild von GuenterS
GuenterS

Registriert seit: 3. Mai 2004
Ort: Österreich > Bad Vöslau
760 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Eigenes panel

  Alt 22. Apr 2006, 11:20
Delphi-Quellcode:
var
  lPanel: TPanel;
begin
  lPanel := TPanel.create(Form1);
  lPanel.Parent := Form1; // <--- Parent Eigenschaft
end;
Günter
Pünktlichkeit ist die Fähigkeit vorherzusagen um wieviel sich der Andere verspäten wird.
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#5

Re: Eigenes panel

  Alt 22. Apr 2006, 11:21
Zitat von GuenterS:
Delphi-Quellcode:
var
  lPanel: TPanel;
begin
  lPanel := TPanel.create(Form1);
  lPanel.Parent := Form1; // <--- Parent Eigenschaft
end;
Geht. Vielen Dank.
  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 06:24 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