AGB  ·  Datenschutz  ·  Impressum  







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

TabControl

Ein Thema von Lillebrohr · begonnen am 21. Jun 2003 · letzter Beitrag vom 31. Jan 2012
Antwort Antwort
Seite 2 von 2     12   
MiKaEr
(Gast)

n/a Beiträge
 
#11

AW: TabControl

  Alt 31. Jan 2012, 13:30
ich hänge gerade am selben problem.

ich habe ein pagecontrol und diesem verpasse ich per klick neue tabs MIT listview drauf:
Delphi-Quellcode:
procedure TForm1.NeueProfilgruppe1Click(Sender: TObject);
var
 aListView: TListView;
 aTabSheet: TTabSheet;
 aItem: TListItem;
begin
   sGroupName := 'test';

   aTabSheet := TTabSheet.Create(Self);
   aTabSheet.PageControl := PageControl1;
   aTabSheet.Parent := PageControl1;
   aTabSheet.Caption := sGroupName;
   PageControl1.ActivePage := aTabSheet;

   aListView := TListView.Create(Self);
   aListView.Parent := aTabSheet;
   aListView.Align := lv1.Align;
   aListView.Name := 'lv' + IntToStr(PageControl1.PageCount);
   aListView.BorderWidth := lv1.BorderWidth;
   aListView.LargeImages := lv1.LargeImages;
   aListView.SmallImages := lv1.SmallImages;

   aItem := aListView.Items.Add;
   aItem.Caption := sGroupName;

// lv1 ist eine ListView
end;
das funktioniert alles. aber folgendes nicht mehr:
Delphi-Quellcode:
// aCurrentListView := TListView;
procedure TForm1.PageControl1Change(Sender: TObject);
begin
 aCurrentListView := PageControl1.ActivePage.FindComponent('lv' + IntToStr(PageControl1.ActivePageIndex + 1)) as TListView;

 if Assigned(aCurrentListView) then
  showmessage(aCurrentListView.Name); // hier kommt er NIE hin
end;
dementsprechend fällen alle operationen die mit aCurrentListView zu tun haben fehl.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.544 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: TabControl

  Alt 31. Jan 2012, 13:34
Und mit FindControl statt FindComponent?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#13

AW: TabControl

  Alt 31. Jan 2012, 13:47
Hmmm, warum will eigentlich jeder alles in so ein PageControl reinpacken?

Das kann man sehr geschickt trennen, indem man eine Form mit einem PageControl nimmt und dort die Funktionalität für das PageControl implementiert.

Die ListView kommt in ein eigenes Formular und bei Bedarf wird diese Form erzeugt und an das PageControl gedockt.

Ein Beispiel findest du hier
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.735 Beiträge
 
Delphi 2007 Professional
 
#14

AW: TabControl

  Alt 31. Jan 2012, 13:53
Das kann man sehr geschickt trennen, indem man eine Form mit einem PageControl nimmt und dort die Funktionalität für das PageControl implementiert.

Die ListView kommt in ein eigenes Formular und bei Bedarf wird diese Form erzeugt und an das PageControl gedockt.
Oder gleich einen Frame.
Uli Gerhardt
  Mit Zitat antworten Zitat
MiKaEr
(Gast)

n/a Beiträge
 
#15

AW: TabControl

  Alt 31. Jan 2012, 14:12
das war ein toller tipp.

einfach im OnChange-Event des pagecontrols folgendes setzen und schon braucht man nur eine listview:
ListView1.Parent := PageControl1.ActivePage; es ist ja EH immer nur eine listview sichtbar, wozu also dutzende "erstellen".
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#16

AW: TabControl

  Alt 31. Jan 2012, 14:14
das war ein toller tipp.

einfach im OnChange-Event des pagecontrols folgendes setzen und schon braucht man nur eine listview:
ListView1.Parent := PageControl1.ActivePage; es ist ja EH immer nur eine listview sichtbar, wozu also dutzende "erstellen".
Ja, so was geht ... aber ob es dir wirklich hilft ... aber du machst das schon
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.186 Beiträge
 
Delphi 12 Athens
 
#17

AW: TabControl

  Alt 31. Jan 2012, 15:22
FindComponent/FindControl sucht nach Owner-Beziehungen und nicht nach Parent-Beziehungen.

PageControl1.ActivePage.FindComponent oder PageControl1.ActivePage.FindControl sucht im ActivePage nach Controls/Components, deren Owner dieses ActivePage ist.
Du hast aber als Owner die Form (Self) angegeben ... wo muß man nun also nach den erstellten Komponenten (Components) suchen?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#18

AW: TabControl

  Alt 31. Jan 2012, 15:26
Äh das hatten wir doch erst letztens

FindComponent durchsucht die Owner-Beziehungen
FindControl durchsucht die Parent-Beziehungen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.544 Beiträge
 
Delphi 11 Alexandria
 
#19

AW: TabControl

  Alt 31. Jan 2012, 15:45
Deshalb ja meine Frage in #12
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  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 07:34 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