![]() |
Problem mit ShowModal
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:
Was mache ich hier falsch?
// ..
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 // .. |
AW: Problem mit ShowModal
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. |
AW: Problem mit ShowModal
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:03 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