![]() |
Einblenden von "Seiten" innerhalb eines Forms
Hallo,
ich möchte folgendes machen: Auf einem Hauptformular mit diversen Steuerelementen sollen, abhängig von einer Benutzeranwahl, in einem festgelegtem Bereich innerhalb dieses Hauptformulars unterschiedliche "Seiten" mit weiteren Steuerelementen erscheinen. Im Prinzip also ein TTabControl. Leider kann ich bei dem den Rand nicht an meine Bedürfnisse anpassen und desweiteren hätte ich gerne ein sanftes Einblenden, wie es beim TForm mit Alphablending möglich wäre (da kann ich auch den Rahmen ausschalten). Wie krieg ich das jetzt am beste hin? Ich habe grade mal versucht das Hauptformular zum MDI-Fenster zu machen und das 2. zum MDI-Child, aber dann funktioniert das Einblenden und Ausblenden nicht mehr. Guido |
Re: Einblenden von "Seiten" innerhalb eines Forms
-TPageControl (mit augeblendeten Tabs)
-Frames |
Re: Einblenden von "Seiten" innerhalb eines Forms
TPagecontrol fällt aus, weil ich da keinen Borderstyle einstellen kann und ich will keinen Rand haben.
Mit Frames habe ich noch nichts gemacht, werde ich mir mal anschauen. Wie könnte sich ein Fading realisieren lassen? |
Re: Einblenden von "Seiten" innerhalb eines Forms
Hi,
ein Form für jedes Formular mit fsStaOnTop. Das aktive, sichtbare Form im Application.OnIdle in die von Dir gewünschte Stelle hinein positionieren/resizen. Klingt kompliziert, sind aber nur ein paar Zeilen Code
Delphi-Quellcode:
Jedes Formular, dessen Name mit 'Form_' beginnt wird in die Panel-Fläche von "FormPanel"
procedure TMain.FormCreate(Sender: TObject);
begin Application.OnIdle := ApplIdle; end; procedure TMain.ApplIdle(Sender : TObject; var Done : boolean); var i : integer; begin for i := 0 to Owner.ComponentCount - 1 do begin if (Pos('Form_', Owner.Components[i].Name) > 0) then begin (Owner.Components[i] as TForm).Left := Main.FormPanel.ClientOrigin.X; (Owner.Components[i] as TForm).Top := Main.FormPanel.ClientOrigin.Y; (Owner.Components[i] as TForm).Width := Main.FormPanel.Width; (Owner.Components[i] as TForm).Height := Main.FormPanel.Height; end; end; end; eingepasst. |
Re: Einblenden von "Seiten" innerhalb eines Forms
Zitat:
=> ich würde zuerst mal um die Grundfunktionalität kümmern und erst ganz zum Schluss die Show einbauen. Man kann übrigens auch Formulare in andere Formulare einklinken. Man braucht dazu nur den Parent des "Unterformulars" auf ein Panel oder Groupbox des Hauptforms umbiegen. |
Re: Einblenden von "Seiten" innerhalb eines Forms
@shmia:
Ich glaube in diesem Fall muss ich mir um Fernwartung und dergleichen keine Sorgen machen. Ich probiere gerade an Kalmis Lösung herum und versuch es dann mal mit einem Panel. Danke. Vielleicht lasse ich es dann ja auch bleiben. Es sähe schon schick aus (zumindest in meinen Vorstellungen). |
Re: Einblenden von "Seiten" innerhalb eines Forms
Zitat:
Sich also vom Hauptprog lösen. Oder andere damit fest verbunden bleiben. Naja und noch so einiges, was mit Frames und Co. nicht geht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:40 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-2025 by Thomas Breitkreuz