AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Prism MDI Anwendung: Auflistung der Children in einer Listbox
Thema durchsuchen
Ansicht
Themen-Optionen

MDI Anwendung: Auflistung der Children in einer Listbox

Ein Thema von Alexander · begonnen am 19. Mai 2006 · letzter Beitrag vom 25. Mai 2006
Antwort Antwort
Seite 2 von 2     12   
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#11

Re: MDI Anwendung: Auflistung der Children in einer Listbox

  Alt 24. Mai 2006, 14:22
Hi Sebastian
vielen Dank für dein Posting. Ich verstehe gerade nicht, wofür dein Quelltext ist .

Aber tatsächlich ist owner wirklich nil, wieso verlässt man sich darauf, dass das automatisch gefüllt wurde. Und selber setzen kann ich es aus irgendeinem Grund auch nicht. Aber mir bleibt ja noch MDIParent, das auf das Hauptfenster verweist. Das habe ich jetzt auch genommen. Statt:
Delphi-Quellcode:
  TMainFrm(owner).ChildClose(Self.text, Self.path);
nehme ich jetzt einfach
  TMainFrm(MdiParent).ChildClose(Self.text, Self.path);
Das funktioniert
Alexander
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#12

Re: MDI Anwendung: Auflistung der Children in einer Listbox

  Alt 25. Mai 2006, 21:47
Der Quelltext ist ein vollwertiger, performanterer und eleganterer - das wolltest du doch - Ersatz für
Delphi-Quellcode:
for i:=0 to Length(Self.MdiChildren)-1 do
    if (Self.MdiChildren[i] is TMDIChild) then
    begin
      if (TMDIChild(Self.MdiChildren[i]).Text = LB_Dok.SelectedItem.ToString) then
      begin
        TMDIChild(Self.MdiChildren[i]).BringToFront;
        break;
      end;
    end;

...

procedure TMainFrm.ChildClose(t, p : String);
var
  i : Integer;
begin
  // Child aus Listbox entfernen
  for i:=0 to LView_Dok.Items.Count -1 do
    if (LView_Dok.Items.Item[i].Text.Equals(t) and LView_Dok.Items.Item[i].Tag.Equals(p)) then
    begin
      LView_Dok.Items.RemoveAt(i);
      break;
    end;
end;
Schon allein die Kürze des Codes sollte überzeugen .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 18:48 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