AGB  ·  Datenschutz  ·  Impressum  







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

Einblenden von "Seiten" innerhalb eines Forms

Ein Thema von guidok · begonnen am 1. Aug 2007 · letzter Beitrag vom 1. Aug 2007
Antwort Antwort
guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#1

Einblenden von "Seiten" innerhalb eines Forms

  Alt 1. Aug 2007, 15:15
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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Einblenden von "Seiten" innerhalb eines Forms

  Alt 1. Aug 2007, 15:17
-TPageControl (mit augeblendeten Tabs)
-Frames
Markus Kinzler
  Mit Zitat antworten Zitat
guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#3

Re: Einblenden von "Seiten" innerhalb eines Forms

  Alt 1. Aug 2007, 15:20
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?
  Mit Zitat antworten Zitat
kalmi01
(Gast)

n/a Beiträge
 
#4

Re: Einblenden von "Seiten" innerhalb eines Forms

  Alt 1. Aug 2007, 15:26
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:
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;
Jedes Formular, dessen Name mit 'Form_' beginnt wird in die Panel-Fläche von "FormPanel"
eingepasst.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

Re: Einblenden von "Seiten" innerhalb eines Forms

  Alt 1. Aug 2007, 15:27
Zitat von guidok:
...und desweiteren hätte ich gerne ein sanftes Einblenden, wie es beim TForm mit Alphablending möglich wäre
Das kann aber bei Fernwartung über VNC oder Terminalserver ganz schön nerven, wenn Internetbandbreite mit solchen Gimmicks belastet wird.
=> 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.
Andreas
  Mit Zitat antworten Zitat
guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#6

Re: Einblenden von "Seiten" innerhalb eines Forms

  Alt 1. Aug 2007, 15:39
@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).
  Mit Zitat antworten Zitat
kalmi01
(Gast)

n/a Beiträge
 
#7

Re: Einblenden von "Seiten" innerhalb eines Forms

  Alt 1. Aug 2007, 16:03
Zitat:
Es sähe schon schick aus (zumindest in meinen Vorstellungen).
Ja, vor allem sieht geil aus, wenn Formulare einfach an der Stelle liegen bleiben, wo sie erzeugt wurden.
Sich also vom Hauptprog lösen.
Oder andere damit fest verbunden bleiben.

Naja und noch so einiges, was mit Frames und Co. nicht geht.
  Mit Zitat antworten Zitat
Antwort Antwort


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:31 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