Autor Beitrag
galagher
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2556
Erhaltene Danke: 45

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Sa 26.05.12 21:55 
Hallo!

Immer noch das MDI-Programm, neue Frage:

Ich möchte, dass das in der Caption des Hauptfensters nicht die Caption des maximierten MDIChilds angezeigt wird, also etwa "SynEdit - [Unbenannt1]". Ist ja einfach zu lösen, in dem man im FormResize die Caption des Childs auf '' setzt. Trotzdem zeigt das Programm die Caption kurz an, ausser, ich verwende inherited.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
  private
    { Private-Deklarationen }
    sCaption: String;
//...
procedure TForm2.FormResize(Sender: TObject);
begin
  inherited;  {Damit bleibt die Caption der Hauptform unverändert}
  if WindowState = wsMaximized then
    Caption := ''
  else
    Caption := sCaption;
end;

Meine Frage nun: Darf ich inherited einfach so verwenden? Welche Auswirkungen hat das?

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19326
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 26.05.12 22:56 
Das dürfte eigentlich gar nicht mit kompiliert werden, sondern sollte einfach herausfliegen. Leider reagierten alte Delphiversionen darauf teils ziemlich falsch, wenn ein inherited auftaucht ohne dass es sich um eine überschriebene Methode handelt...

Was da bei dir passiert solltest du mit eingeschalteten Debug-DCUs beim Debugggen sehen (F7 und schauen wo du landest...).

Bei XE2 bewirkt es jedenfalls wie es korrekt ist nichts und der Titeltext flackert auch ohne nie mit dem Code.
galagher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2556
Erhaltene Danke: 45

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: So 27.05.12 09:01 
Seltsam, jetzt funktioniert mit und ohne inherited, aber in beiden Fällen nicht immer. Jedenfalls beim ersten Mal maximieren sieht man es in der Hauptform-Caption, dann nur manchmal...

Wenn ich nicht alles umschreiben müsste, würde ich das MDI-Konzept einfach vergessen. Aber nur wegen ein paar optischer Mängel?

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19326
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 27.05.12 09:48 
Ja, die Frage stellt sich bei älteren Projekten mit veralteten Konzepten wie MDI immer. Die Frage ist, was an dem kleinen Flackern so schlimm ist, ich sehe da eigentlich kein Problem. :nixweiss:
galagher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2556
Erhaltene Danke: 45

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: So 27.05.12 21:29 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Die Frage ist, was an dem kleinen Flackern so schlimm ist,
Es wäre mir einfach lieber ohne Flackern, sonst nichts weiter!

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!