![]() |
TForm mit BorderStyle=bsNone Frage
Hallo zusammen,
ich habe auf einer Form eine Listview und eine Auswahlliste. Wenn ich in der Listview auf einen Eintrag einen Doppelklick ausführe, wird eine zweite Form mit der Eigenschaft BorderStyle=bsNone erstellt und über die Listview gelegt. Ich benutze die TForm sozusagen als eine Art Frame. Über einen Button kann ich die erstellte Form, die über der Listview liegt wieder schliessen. Wenn ich jetzt in der Auswahlliste, die zusätzlich zur Listview oder zur erstellten Form angezeigt wird, einen Eintrag auswähle, soll sich der Inhalt der Listview ändern. Bis hier funktioniert alles wunderbar. Jetzt zu meinem Problem : Wenn nicht die Listview zu sehen ist, sondern die erstellte Form, soll diese vorher geschlossen werden und dann die Listview wieder angezeigt werden. Ich habe das ganze versucht über die Eigenschaft Showing der erstellten Form abzufangen. Nur leider wird diese Eigenschaft auch dann True gesetzt, wenn die erstellte Form über die Procedure Close geschlossen wird. Also kommt meines Erachtens die Eigenschaft Showing nicht in Frage. Wie könnte ich es trotzdem realisieren, dass die erstellte Form erst geschlossen wird und dann der neue Inhalt der Listview entsprechend dem Eintrag in der Auswahlliste angezeigt wird ? Ein Wechsel zwischen den einzelen Einträgen der Auswahlliste sollte immer Funktionieren. Gruß Rolf |
AW: TForm mit BorderStyle=bsNone Frage
Ich bin nicht sicher, ob ich dich richtig verstanden habe, aber was spricht gegen
Delphi-Quellcode:
?
Form.Visible
|
AW: TForm mit BorderStyle=bsNone Frage
Die Frage wäre warum mußt du die Borderlose Form schließen reicht hier nicht ein Hide?
gruss |
AW: TForm mit BorderStyle=bsNone Frage
Zitat:
Delphi-Quellcode:
:gruebel:
procedure TCustomForm.Hide;
begin Visible := False; end; |
AW: TForm mit BorderStyle=bsNone Frage
Zitat:
mein Problem dabei du hast ein paar Minuten vor mir gepostet so konnte ich deinen Beitrag erst nachher sehn ;) gruss |
AW: TForm mit BorderStyle=bsNone Frage
Hallo Ihr beiden,
danke erstmal für Eure Antworten. Ich weiß nicht, ob es eine entscheidene Rolle spielt, aber ich setzte den BorderStyle erst zur Laufzeit. Wenn ich euch richtig verstanden habe, dann soll ich die Forms, die im Moment durch einen Doppelklick auf einen ListView-Eintrag erstellt werden, beim Starten des Programms erstellen oder ? Damit ich dann später nur noch mit Hide und Show/ShowModal die Forms anzeigen oder verschwinden lassen kann ? Edit: Hier noch ein Sourcecodeteil wie ich erstelle :
Delphi-Quellcode:
Dieser Teil wird in meiner MainForm des Programms ausgeführt, wenn auf einen Eintrag in der ListView ein Doppelklick ausgeführt wird.
BillingDetails := TCreateBillingForm.Create(Self);
BillingDetails.Parent := Self; BillingDetails.BorderStyle := bsNone; for I := 0 to BillingDetails.ComponentCount - 1 do if (BillingDetails.Components[i] is TAdvEdit) then TAdvEdit(BillingDetails.Components[i]).ReadOnly := True; {...} BillingDetails.Show; |
AW: TForm mit BorderStyle=bsNone Frage
Zitat:
Ich Händle das mit meinen nonvcl Windows genau so. gruss |
AW: TForm mit BorderStyle=bsNone Frage
Wenn ich aber nur Hide und Show/ShowModal benutze, habe ich ja immer noch die ganzen Eingaben in der Form stehen. Das heißt also, Du löscht dann prinzpell alles beim Verstecken oder vor dem Anzeigen wieder ? Wenn ja, ist das nicht etwas umständlich ?
|
AW: TForm mit BorderStyle=bsNone Frage
Zitat:
Aber in dem du die Form schließt löschst du doch quasi auch alles oder? Blick nicht so recht da durch was du auf die Form setzen willst zu Laufzeit. Wenn es gedruckte Texte sind reicht ein einfaches refresh bei Hide oder? Dafür muss ich die Form nicht immer und immer wieder neuladen. Wenn du das TAdvEdit aufsetzt brauchst du bei hide doch nur die einträge löschen. Ohne die Komponente immer wieder neu zu laden. gruss |
AW: TForm mit BorderStyle=bsNone Frage
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz