AGB  ·  Datenschutz  ·  Impressum  







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

Formular Ableiten

Ein Thema von Hammer · begonnen am 6. Sep 2007 · letzter Beitrag vom 10. Sep 2007
Antwort Antwort
Seite 1 von 2  1 2      
Hammer

Registriert seit: 23. Apr 2003
11 Beiträge
 
#1

Formular Ableiten

  Alt 6. Sep 2007, 08:49
Hallo

Ich habe ein Formular TMyForm von TForm abgeleitet. Dabei Überschreibe ich die Funktion Paint um dem Formular zur Laufzeit ein "Spezielles" Aussehen (Hintergrund) zu verleihen. Nun würde ich gerne TMyForm dahingehend erweitern dass ich bereits zu DesignTime also in der IDE sehe wie das Form dann zur laufzeit aussehen wird. Wie wenn ich die Eingenschaft Color usw. ändere ist dies ja in der IDE auch zu sehen.

Grüsse Adrian
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Formular Ableiten

  Alt 6. Sep 2007, 09:20
Schau mal hier.

HTH,
Uli.
Uli Gerhardt
  Mit Zitat antworten Zitat
Hammer

Registriert seit: 23. Apr 2003
11 Beiträge
 
#3

Re: Formular Ableiten

  Alt 6. Sep 2007, 09:37
1. Danke

2. Habe ich mich wohl zu wenig genau ausgedrückt.
Eine neue Eigenschaft für TMyForm zu erstellen ist nicht mein Wunsch.

Ich möchte die Überschriebene Funktion "Paint" welche zur Laufzeit das aussehen des Formulars ändert auch zur DesignTime ausführen.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.640 Beiträge
 
#4

Re: Formular Ableiten

  Alt 6. Sep 2007, 09:45
Das sollte sie normalerweise automatisch tun.
Ausser natürlich, du fragst vor dem Zeichnen den ComponentState auf not csDesigning ab...
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Formular Ableiten

  Alt 6. Sep 2007, 10:11
Zitat von Hammer:
2. Habe ich mich wohl zu wenig genau ausgedrückt.
Eine neue Eigenschaft für TMyForm zu erstellen ist nicht mein Wunsch.
Dann lass den Teil mit NewProperty weg.

Zitat von Hammer:
Ich möchte die Überschriebene Funktion "Paint" welche zur Laufzeit das aussehen des Formulars ändert auch zur DesignTime ausführen.
Und dafür muss die IDE ja irgendwie an deinen compilierten Paint-Code rankommen. Das riecht für mich nach Designtime-Package und irgendeiner Register...-Routine. Ob der Kram mit dem ModuleCreator notwendig ist, weiß ich nicht. Du kannst ja mal ein Minimal-Package ausschließlich mit dem RegisterCustomModule-Aufruf ausprobieren.

Zitat von Phoenix:
Das sollte sie normalerweise automatisch tun.
Ausser natürlich, du fragst vor dem Zeichnen den ComponentState auf not csDesigning ab...
Kann ich mir nicht vorstellen. Die IDE führt AFAIK nur Code aus, der bei ihr durch ein Designtime-Package o.ä. registriert wurde.
Uli Gerhardt
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.640 Beiträge
 
#6

Re: Formular Ableiten

  Alt 6. Sep 2007, 10:26
Zitat von uligerhardt:
Zitat von Phoenix:
Das sollte sie normalerweise automatisch tun.
Ausser natürlich, du fragst vor dem Zeichnen den ComponentState auf not csDesigning ab...
Kann ich mir nicht vorstellen. Die IDE führt AFAIK nur Code aus, der bei ihr durch ein Designtime-Package o.ä. registriert wurde.
Ich ging eigentlich davon aus, dass das Form in einem Package ist - sonst hätte er es ja auch gar nicht bei Datei->Neu->Formular registrieren können...

Oder hat er das gar nicht?
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Formular Ableiten

  Alt 6. Sep 2007, 11:06
Zitat von Phoenix:
Ich ging eigentlich davon aus, dass das Form in einem Package ist - sonst hätte er es ja auch gar nicht bei Datei->Neu->Formular registrieren können...
Da könntest du natürlich recht haben.

Zitat von Phoenix:
Oder hat er das gar nicht?
Wir werden sehen.
Uli Gerhardt
  Mit Zitat antworten Zitat
Hammer

Registriert seit: 23. Apr 2003
11 Beiträge
 
#8

Re: Formular Ableiten

  Alt 7. Sep 2007, 15:17
Das Form ist nun in einem Package.

Aber wo kann ich den Code zum Zeichnen meines Formulars innerhalb der IDE aufrufen. (Sie tut das bei mir nicht selbst?!?)

Wenn ich Paint beim setzen der Eigenschaft NewProperty (aus dem Beispiel) aufrufe wird das Form auch richtig gezeichnet.



Wo krieg ich die Höhe und Breite des Formulars her ohne Titelleiste.

Grüsse
Adrian
  Mit Zitat antworten Zitat
Hammer

Registriert seit: 23. Apr 2003
11 Beiträge
 
#9

Re: Formular Ableiten

  Alt 7. Sep 2007, 15:39
Ich glaub ich hab das was gefunden.
Ich zeichne jetzt meine Formular in der IDE über WMPaint :

Delphi-Quellcode:
nit DescendantForm;

type
  TCustomNewDescendantForm = class(TForm)
  private
    procedure WMPaint(var msg: TWMPaint); message WM_PAINT;
  protected
    procedure Paint; override;
  end;

implementation

procedure TCustomNewDescendantForm.WMPaint(var msg: TWMPaint);
begin
   Inherited ;
   Paint;
end;
so gehts.

Die Grösse der zu nuzbaren Formular Fläche habe ich aber noch nicht gerausgefunden...

Grüsse
Adrian
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Formular Ableiten

  Alt 7. Sep 2007, 15:49
Zitat von Hammer:
Ich glaub ich hab das was gefunden.
Ich zeichne jetzt meine Formular in der IDE über WMPaint :
Schräg. Aber wenn's so funktioniert.

Zitat von Hammer:
Die Grösse der zu nuzbaren Formular Fläche habe ich aber noch nicht gerausgefunden...
Meinst Du Form1.ClientRect?
Uli Gerhardt
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 23:47 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