Results 1 to 4 of 4

Thread: Form staten vanuit MainForm

  1. #1

    Form staten vanuit MainForm

    Hallo allemaal,

    Als ik de volgende procedure uitvoer dan wordt kort een scherm van de achtergrond weergegeven. Dit geflikker is niet wenselijk. Hoe los je dat op?

    Met een vriendelijke groet, Frans

    Code:
    PROCEDURE Menu_Info;
    VAR
      Dlg: TAfasie_Info_Frm;
    BEGIN
      Dlg := TAfasie_Info_Frm.Create(nil);
      Dlg.MuisSw:=MuisSw;   
      Dlg.MyHeight:=MyHeight;
      Dlg.ShowModal;
      Dlg.Free;
    END;

  2. #2
    Denk dat de oorzaak eerder in de show event van het "Dlg" form te vinden is dan in deze regels. Dit is een redelijk gebruikelijke code constructie en het genoemde "geflikker" is mij nooit opgevallen.

  3. #3
    Probleem opgelost.

    Een aantal instellingen die in TForm1.FormActivate stonden verplaatst naar TForm1.Create.
    Dat is o.a. WindowState, BorderStyle e.d.

    Iedereen bedankt en een groet, Frans

  4. #4
    OnActivate en OnDeactivate worden steeds aangeroepen als een form de focus krijgt of verliest. En dat gebeurt wanneer het al zichtbaar is.

    Het wijzigen van die properties zorgt dat er in feite een nieuw scherm gemaakt wordt. D.w.z., de Window handle wordt vrijgegeven, waardoor het al zichtbare scherm weggepoets moet worden, en er wordt een nieuwe gemaakt met de nieuwe kenmerken, dat dan weer helemaal getekend moet worden. Dat zorgt inderdaad voor het nodige geknipper.
    De object inspector, of OnCreate is inderdaad de betere optie. OnShow zou waarschijnlijk ook werken.
    1+1=b

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •