Autor Beitrag
Siggus19
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Di 08.04.03 11:14 
Hallo ich hab eín Problem beim Löschen(Freigeben) oder clearen von Tabsheets kann mir jemand helfen?
Hier die Source:

ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
procedure TFMain.Fuege_Neues_TabSheet_Hinzu;
var
  ActIndex : Integer;
  TabSheet : TTabSheet;
  Panel     : TPanel;
  Image    : TImage;
  Memo     : TMemo;
  Edit      : TEdit;
begin
  TabSheet := TTabSheet.Create(Self);
  TabSheet.PageControl := PCoRez;
  TabSheet.Caption := 'Neues Rezept';

  Edit := TEdit.Create(Self);
//  Edit.Name := 'e_Tab_' + inttostr(TabSheet.TabIndex);
  Edit.Text := TabSheet.Caption;
  Edit.Parent := TabSheet;
  Edit.Top := 8;
  Edit.Height := 21;
  Edit.Width := round((TabSheet.ClientWidth - 16) / 2) + 8;
  Edit.Left := 8;
  Edit.OnChange := Edit_Change;
  
  Memo := TMemo.Create(Self);
  Memo.Parent := TabSheet;
  Memo.Left := 8;
  Memo.Width := round((TabSheet.ClientWidth - 16) / 4) * 3 - 4;
  Memo.Top := 8 + 21 + 4;
  Memo.Height := TabSheet.ClientHeight - 16 - (21 + 4);
  Memo.Anchors := [akLeft, akRight, akTop, akBottom];
//  Memo.Name := 'm_Tab_' + inttostr(TabSheet.TabIndex);
  Memo.Lines.Clear;

  Panel := TPanel.Create(Self);
  Panel.Parent := TabSheet;
  Panel.Left := round((TabSheet.ClientWidth - 16) / 4) * 3 + 8;
  Panel.Width := round((TabSheet.ClientWidth - 16) / 4);
  Panel.Top := 8;
  Panel.Height := TabSheet.ClientHeight - 16;
  Panel.Anchors := [akRight, akTop, akBottom];
  Panel.OnClick := Panel_Click;
  Panel.Name := 'p_Tab_' + inttostr(TabSheet.TabIndex);
  Panel.Caption := '';
  panel.PopupMenu := PMRezept;
  Tabsheet.Tag := Tabsheet.TabIndex;

  PCoRez.ActivePage := TabSheet;
  Edit.SetFocus;
end;


Moderiert von user profile iconKlabautermann: Code-Tags hinzugefügt.
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Di 08.04.03 11:29 
Hallo und herzlich willkommen
Wenn du deine Codezeilen in [code] und [/code]einschliesst wird das ganze etwas übersichtlicher.
Aber auch so kann ich an deinem Posting keine Frage erkennen. :roll: Wo ist denn dein Problem?

Gruss Lothar

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
Siggus19 Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Di 08.04.03 11:43 
Titel: ich kann sie nicht frei geben
Ich habe die Tabsheet ja auf einem Panel und benutze dieses für mehrer Objekte um Rezepte zu speichern aber wenn ich auf ein anderes Objekt klicke bleiben die Texte und infor in den Feldern stehen und ich will das wieder wie am anfang nur das panel dort steht.
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Di 08.04.03 11:58 
Hi
vielleicht steht ich ja auf der Leitung, aber ich versteh's immer noch nicht so richtig. So wie ich das sehe erzeugst du eine neues TabSheet in einem PageControl und setzt da ein Edit, ein Memo und ein Panel drauf.
Wenn du jetzt diese TabSheet wieder löschst, dann müssen auch die entsprechenden Controls wieder gelöscht werden. Am einfachsten erreichst du das wenn du beim Erstellen der Steuerelemente jeweils das TabSheet als Owner angibst.
ausblenden Quelltext
1:
2:
3:
4:
5:
...
Edit.Owner := TabSheet;
...
Memo.Owner := TabSheet;
...

Der Owner ist für das freigeben alle untergeordneten Steuerelemente verantwortlich, wenn er selbst gelöscht wird. Wenn du also das entsprechende TabSheet wieder entfernst z. B. mit
ausblenden Quelltext
1:
PCoRez.ActivePage.Free;					

werden auch die darauf plazierten Steuerelemente gelöscht.

Gruss Lothar

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
Siggus19 Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Di 08.04.03 12:11 
Titel: Hat funktioniert
Vielen dank es hat geklappt.
Ich werde wohl noch öfter fragen müßen bin gerade an meinem Abschlußprojekt.
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Di 08.04.03 14:47 
Hallo Siggus19,

wen du eine neue Frage hast, stelle diese bitte in einem neuen Toppic, damit eventuell andere Benutzer die das selbe Problem haben eine chance bekommen die lösung zu finden ohne eine eigene Frage stellen zu müssen.

Deine zweite Frage findest du mit Antworten hier.

Gruß
Klabautermann