deutschsprachige FoxPro User Group
Forum View
Home
  
  Re: Windowstate und Resize- #14188 in section [727848]
Sec: (51) MS-Visual FoxPro 9.0
Von: Peter Pledel
An: Olaf Doschke
Am/Um: 09.09.2010 07:40:19

Hallo Olaf,

den Resize erst im Activate zu machen, mit den besagten Verrenkungen, hat aber den Nachteil, das da die Form schon sichtbar ist. Das wollte Stefan aber ja vermeiden.

Peter

 

--from Newsreader at Mittwoch, 8. September 2010; 17:20:00--

>dann schreib im show einfach thisform.resize(). Der Code im show wird nach
>dem LISA - Prinzip einmalig vor dem activate ausgeführt.
Ich kann bestätigen, daß es funktioniert, z.B. mit:

o = CreateObject("maxForm")
o.Show()
Read Events

Define Class maxForm as Form
width = 400
height = 300

Add Object edit1 as editbox With;
width = 380, ;
height = 280, ;
top = 10,;
Left = 10,;
Anchor = 15

Procedure Show()
Lparameters nStyle

&& If goApp.oConfig.MaxForm o.ä.
Thisform.WindowState = 2
&& Endif
EndProc

Procedure Unload()
Clear Events
EndProc
EndDefine

Allerdings sobald Du statt Show() aufzurufen das Formular per o.Visible =
..T. sichtbar machst, läuft Show() nicht. Show() ist kein Event wie Load(),
Init() und Activate(), die Eselsbrücke LISA hat da einen Haken. Aus dem
Grund wird in Framework-Formklassen eher die Verrenkung gemacht einmaliges
ins Activate zu tun und dann nach mit einem Flag, was man setzt eine zweite
Ausführung zu verhindern.
Allerdings läuft Show() bei SCX-Formularen, solange man da nicht die NOSHOW
Klausel nutzt und dann wiederum mit Visible statt Show() Methode arbeitet.

Egal wie man es genau macht, das läßt sich dann natürlich in Abhängigkeit
eines Konfigurationszustandes machen oder sein lassen und man hat ja selbst
in der Hand, ob man Show() nun aufruft oder nicht. Bleibt noch so ein
ungutes Restgefühl, daß die Verrenkungen im Activate() statt Show() zu
nutzen noch einen anderen Sinn haben, als in jedem Fall zu laufen, egal wie
der Nutzer einer Klasse oder SCX ein Formular nun aufruft.

Tschüß, Olaf.










S.Schabbach   07.09.2010 16:43
Jürgen_Wondzinski  07.09.2010 21:41
S.Schabbach  08.09.2010 10:02
Peter Pledel  08.09.2010 10:34
Olaf Doschke  08.09.2010 17:20
Peter Pledel  09.09.2010 07:40
S.Schabbach  11.09.2010 08:22
Olaf Doschke  12.09.2010 20:19
Peter Pledel  13.09.2010 10:16
S.Schabbach  13.09.2010 13:06
  
zurück zum Forum