AGB  ·  Datenschutz  ·  Impressum  







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

StatusBar zur Laufzeit erstellen

Ein Thema von djpaull · begonnen am 18. Apr 2008 · letzter Beitrag vom 18. Apr 2008
Antwort Antwort
djpaull
(Gast)

n/a Beiträge
 
#1

StatusBar zur Laufzeit erstellen

  Alt 18. Apr 2008, 08:37
Servus!

Ich wollte ne StatusBar mit 2 Panels/Bereichen (wie auch immer) erstellen. StausBar alleine zu erstellen geht ohne Probleme
Delphi-Quellcode:
StatusBar1:= TStatusBar.Create(Form1);
form1.InsertControl(StatusBar1);
Aber ich kriegs ums Verreken nicht hin, darein zwei panels einzubauen. Wenn möglich, Code posten. Habe halbe Nacht mit dem Sch...s verbracht.

Danke im Voraus.
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#2

Re: StatusBar zur Laufzeit erstellen

  Alt 18. Apr 2008, 08:43
StatusBar.SimplePanel auf False und dann per StatusBar.Panels.Add oder so.
  Mit Zitat antworten Zitat
djpaull
(Gast)

n/a Beiträge
 
#3

Re: StatusBar zur Laufzeit erstellen

  Alt 18. Apr 2008, 08:52
Hmm.. Das mit "StatusBar.SimplePanel auf False setzen" ist schon ne gute Idee. Aber bei "StatusBar.Panels.Add" tut sich nix. Bei "StatusBar1.Panels.AddItem(nil,2)" sagt er: "Listenindex überschreitet das Maximum (2)". Hab schon viele Kombinationen ausprobiert, aber fast immer kommt diese Fehlermeldung.

EDIT
Bei folgenden Zeilen kommt es zu diesem Fehler:
[delphi]
StatusBar1.CreatePanels.Insert(2); oder
StatusBar1.Panels.AddItem(nil,2);
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#4

Re: StatusBar zur Laufzeit erstellen

  Alt 18. Apr 2008, 09:10
Wenn du im OI das Panel doppelklickst, geht ein kleines Fenster auf, wo du Panels einfügen kannst.

Ergo muß es dazu im Code irgendeine Implementation geben, womit du das auch zur Laufzeit machen kannst. Schau halt mal, was die OH dazu sagt.
  Mit Zitat antworten Zitat
djpaull
(Gast)

n/a Beiträge
 
#5

Re: StatusBar zur Laufzeit erstellen

  Alt 18. Apr 2008, 09:19
Ich dachte im Moment an sowas wie
Delphi-Quellcode:
      begin
        for I := 0 to StatusBar1.Panels.Count - 1 do
        StatusBar1.Panels.Insert(2)
      end;
nur da tut sich auch nix. Hm...
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#6

Re: StatusBar zur Laufzeit erstellen

  Alt 18. Apr 2008, 09:21
Schau doch einfach, was die Online-Hilfe (F1) an Hilfen für die Methoden zur StatusBar anbietet.
  Mit Zitat antworten Zitat
djpaull
(Gast)

n/a Beiträge
 
#7

Re: StatusBar zur Laufzeit erstellen

  Alt 18. Apr 2008, 09:31
Einfach genial diese DH. Spuckt mir alle Beispiele für VB, C#, C++ und JScript aus aber Nicht FÜR DELPHI.

EDIT Hier - DH Ergebnis:

Ruft die im Steuerelement enthaltene Auflistung von StatusBar-Bereichen ab.

[Visual Basic]
Public ReadOnly Property Panels As _
StatusBar.StatusBarPanelCollection

[C#]
public StatusBar.StatusBarPanelCollection Panels {get;}

[C++]
public: __property StatusBar.StatusBarPanelCollection* get_Panels();

[JScript]
public function get Panels() : StatusBar.StatusBarPanelCollection;
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#8

Re: StatusBar zur Laufzeit erstellen

  Alt 18. Apr 2008, 09:36
Zitat von Delphi Hilfe:
TStatusPanels.Add
Die Methode erzeugt eine neue Instanz von TStatusPanel und fügt diese dem Array Items hinzu.

function Add: TStatusPanel;

Beschreibung

Die Methode Add gibt die neue Tafel zurück. Zur Entwurfszeit wird der zugehörige Editor verwendet, um der Statusleiste weitere Tafeln hinzuzufügen.

Beispiel - BeginUpdate, EndUpdate, Add, Count, Items
Im folgenden Beispiel wird eine Tafel (Panel) mit Beschriftung in die Statusleiste eingefügt, wenn der Benutzer auf eine Schaltfläche klickt. Die Methoden BeginUpdate und EndUpdate dienen dazu, einen Neuaufbau der Darstellung so lange zu verhindern, bis die Operation abgeschlossen ist. Ein try...finally- Block sorgt dafür, daß im Fall einer Exception die Methode EndUpdate aufgerufen wird.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

var
  PanelIndex : Integer;
begin
  with StatusBar1 do
  begin
    Panels.BeginUpdate;
    PanelIndex := StatusBar1.Panels.Count - 1;
    try
      Panels.Add;
      Inc(PanelIndex);
      Panels.Items[PanelIndex].Text := 'Panel' + IntToStr(PanelIndex);
    finally
      Panels.EndUpdate;
    end;
  end;
end;
  Mit Zitat antworten Zitat
djpaull
(Gast)

n/a Beiträge
 
#9

Re: StatusBar zur Laufzeit erstellen

  Alt 18. Apr 2008, 09:43
Hey, danke . Sorry für meine sture Dumheit. War die ganze Nacht wach - keine Konzentration mehr.
THX a lot again!

EDIT1

Will nicht unfähig zu programmieren zu erscheinen, aber.. Wie kann man daraus 2 Panels z.B. beim FormCreate machen?
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#10

Re: StatusBar zur Laufzeit erstellen

  Alt 18. Apr 2008, 09:57
Geh ins Bett, nachm aufstehen weißt du's.
  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 09:36 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