AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Problem mit ShowModal

Ein Thema von Silk · begonnen am 6. Jun 2010 · letzter Beitrag vom 6. Jun 2010
Antwort Antwort
Silk

Registriert seit: 14. Sep 2006
Ort: Torgau
12 Beiträge
 
#1

Problem mit ShowModal

  Alt 6. Jun 2010, 19:57
Hallo,

ich habe Delphi 2005 PE und folgendes Problem:

Ich will ein Formular mit showModal anzeigen.
Auf das Formular will ich vorher auch etwas zeichnen (canvas).
Leider funktioniert das zeichnen/positionieren nur nach myForm.Show.
Und danach funktioniert kein myForm.ShowModal mehr (Fenster bereits sichtbar).
Mache ich am Anfang myForm.ShowModal, kann ich ja nichts mehr zeichnen.

Code:
   // ..

   breite:=900;
   hoehe:=670;
   myForm:=TForm.create(nil);
   myForm.Width:=breite;
   myForm.Height:=hoehe;
   myForm.Show; // sonst funktioniert das zeichnen nicht
   myForm.Left:=(Screen.Width - myForm.Width) div 2;
   myForm.Top:=20;
   myForm.Color:=clWhite;
   myForm.BorderIcons:=[];
   myForm.BorderStyle:=bsNone;

   MyForm.Canvas.Pen.Color:=clBlack;
   MyForm.Canvas.RoundRect(5,5,MyForm.Width-5,myForm.Height-5,20,20);

   // weiteres zeichnen
   // ..

   myForm.OnClick:=CloseMyForm;

   // MyForm.ShowModal();   // hier sollte eigentlich ShowModal stehen,
                             // funktioniert aber nicht, da das Fenster bereits sichtabr ist

   // ..
Was mache ich hier falsch?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
39.424 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Problem mit ShowModal

  Alt 6. Jun 2010, 20:11
Wenn das Formular nicht sichtbar ist, dann malst du ins nix.

Sobald die Form dann angezeigt wird, wird sie das erstmal komplett neu gezeichnet.

im OnPaint der Form kannst du auf diese draufmalen, sobald sie angezeigt, bzw. jedesmal wenn neu gezeichnet wird.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.027 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Problem mit ShowModal

  Alt 6. Jun 2010, 20:12
Was mache ich hier falsch?
Du mußt deine Zeichenoperationen ins OnDraw/OnPaint des Formulars verlegen. Am besten an entsprechender Positon eine TPaintbox legen und deren OnDraw/OnPaint-Event verwenden.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 08:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf