Einzelnen Beitrag anzeigen

Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#11

Re: MDI-Formular nach Buttonklick erzeugen und anzeigen

  Alt 5. Nov 2005, 10:28
Moin, moin,

Ja mach mal! Tatsache ist, dass es durchaus gute Gründe geben kann alte Konventionen aufzuheben. Oft sind die meist nur nich völlig ohne Grund oder in der Beschränkung von Windows hinterlegt. Andere Kandidaten haben allerdings durchaus deutliche Komentare zum Umbauen des MDI-Konzeptes: :


Invisible MDI child window
Zitat von Peter Below (TeamB) :
You are free to demolish your own feet with any weapon of your liking. That does not mean it is a smart thing to do

Part one
Ok, aber an einigen Tipps soll es nicht fehlen: Wenn das MDI einmal aufgebaut ist und zunächst angezeit wurde kann man es mit
Delphi-Quellcode:
ShowWindow(Handle, SW_HIDE);
   {oder}
self.visoble := false;
unsichtbar machen. Es wird nur am Anfang einmal angezeigt. Was definitiv geht wäre allerdings im OnCreate-Ereignis:
Delphi-Quellcode:
 
width := 0;
heigth := 0;
das MDI Fenster auf Nullgröße bringen und dann ein zweites Formular starten, was für den Anwender dann als Hauptfenster wirkt.
Bin mal gespannt was bei Dir dann herauskommt !



Part two

Es ist möglich mehrere Formulare in einem Projekt mit der Eigenschaft Formstayle = MDI zu versehen. Wenn man es mal weiterdenkt, dann könnte man folgendes machen:

Formular_0 style normal - als Hauptmenue für Oberkategorien
Formular_1 style MDI - als Formular für Kategoriesammlung-1
Formular_2 style MDI - als Formular für Kategoriesammlung-2

Alle werden zu Anfang aufgebaut. Form 1 und 2 werden znächst mit Nullgröße generiert. Formular 0 wird normal, eventuell mit Andocken an einen Bidlschirmrand generiert und hat Tasten und Menues für das Starten und auf Arbeitsgröße bringen der Form 1 und 2.

Die Formulare_1_Clienet_1_x sind dann Spezialformulare zu Kategorie 1
Die Formulare_2_Clienet_1_x sind dann Spezialformulare zu Kategorie 2



Grüße // Martin - Team DP -
Martin Schaefer
  Mit Zitat antworten Zitat