AGB  ·  Datenschutz  ·  Impressum  







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

FormResize

Ein Thema von MPirnstill · begonnen am 30. Jan 2006 · letzter Beitrag vom 31. Jan 2006
Antwort Antwort
Benutzerbild von MPirnstill
MPirnstill

Registriert seit: 19. Jul 2004
Ort: Burgdorf
197 Beiträge
 
Delphi XE8 Enterprise
 
#1

FormResize

  Alt 30. Jan 2006, 10:41
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 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
Micha
Ich habe fertig!

DP - hier werden Sie geholfen!
  Mit Zitat antworten Zitat
Benutzerbild von MPirnstill
MPirnstill

Registriert seit: 19. Jul 2004
Ort: Burgdorf
197 Beiträge
 
Delphi XE8 Enterprise
 
#2

Re: FormResize

  Alt 30. Jan 2006, 15:18
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]
Micha
Ich habe fertig!

DP - hier werden Sie geholfen!
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: FormResize

  Alt 30. Jan 2006, 16:43
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:
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.
Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von MPirnstill
MPirnstill

Registriert seit: 19. Jul 2004
Ort: Burgdorf
197 Beiträge
 
Delphi XE8 Enterprise
 
#4

Re: FormResize

  Alt 31. Jan 2006, 14:38
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. Ich wollte eigentlich garnicht drängeln, nur wenn man vor einem Prob sitzt und gefrustet ist, wird man manchmal ungeduldig.
Micha
Ich habe fertig!

DP - hier werden Sie geholfen!
  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 04:20 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