![]() |
FormResize
Hi Leute!
Folgendes Problemchen! Ich benutze in FormResize die Funktion "ScaleControls" um für die Anwender meines Programmes die Controls beim maximieren wirklich größer zu machen und nicht einfach nur mehr anzuzeigen (gibt eben viele mit Augenproblemen). Das Resize-Ereignis habe ich im Vorfahr definiert, damit ich das nicht bei jedem Dialog neu machen muß, allerdings habe ich verschiedene Vorfahren für verschiedene Dialogtypen. Bei dem einen Dialog funktionert dies auch korrekt, wobei bei dem anderen Dialog das Resize-Ereignis mehrfach, um genau zu sein dreimal, ausgelöst wird, obwohl ich nur einmal auf maximieren clicke. Dadurch werden mein Control natürlcih gigantisch und damit kann auch wieder keiner arbeiten. Hat einer von euch eine Idee :idea: was das auslöst! Ich habe nicht den geringsten Schimmer wieso das Prog so merkwürdig reagiert! Ich auf mir beim Debuggen schon den Aufrufstack anzeigen lassen, aber auch da ist nicht ersichtlich von welcher anderen Routine das Resize-Ereignis aufgerufen wird. Gruß Micha |
Re: FormResize
Hat denn keiner eine Idee.
Ich habe das Programm schon getraced und verstehe es einfach nicht. Gehe mit SHIFT+F7 durch. Verlasse das Resize-Ereignis und schon ist die nächste Anweisung, die oben im Resize-Ereignis steht. Und das macht er 2 mal mit mir, so das diese Routine insgesamt 3 mal durchlaufen wird. Woran könnte das liegen? Ich weiß nicht wo ich noch suchen könnte. Gruß [edit=Luckie]Dein Thread ist nicht mal fünf Stunden alt. Halte dich also bitte etwas zurück, was das Pushen angeht, das ist nämlich erst nach frühestens 24 Stunden erlaubt. Mfg, Luckie[/edit] |
Re: FormResize
Hi Micha,
du hast da wahrscheinlich eine unglückliche Verkettung von Ereignissen. Grundsätzlich wird beim Maximieren bzw. Minimieren nur ein event erzeugt. Habe es gerade mit einem leeren D2 Projekt ausprobiert:
Delphi-Quellcode:
Grüße vom marabu
unit Unit1;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) procedure FormResize(Sender: TObject); private FResizeCount: Integer; public procedure IncResizeCount; end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.IncResizeCount; begin Inc(FResizeCount); Caption := IntToStr(FResizeCount); end; procedure TForm1.FormResize(Sender: TObject); begin IncResizeCount; end; end. |
Re: FormResize
Erstmal danke das du dich dem Thema angenommen hast, marabu!
Ich weiß zwar nicht was es war, ich habe jetzt einfach einen ähnlichen Vorfahren genommen und angepaßt, alles ein bischen nachgearbeitet und jetz funktioniert es. Aber verstehen muß ich das nicht. @Luckie: Sorry, war wohl ein wenig verwöhnt von den schnellen Antworten auf andere Fragen meinerseits, aber seit der Gelesen-Counter nicht mehr drin ist, weiß man auch garnicht, ob überhaupt mal jemand reingeschaut hat. Außerdem habe ich immer die Befürchtung, daß wenn ein Thema aus den aktuellen / letzten Themen verschwunden ist, in den Dornröschenschlaf übergeht und darauf wartet das ein Prinz kommt um es wieder wach zu küssen. :cat: Ich wollte eigentlich garnicht drängeln, nur wenn man vor einem Prob sitzt und gefrustet ist, wird man manchmal ungeduldig. :cyclops: :gruebel: :drunken: :zwinker: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:44 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