Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Events zur Designtime (https://www.delphipraxis.net/110184-events-zur-designtime.html)

sirius 14. Mär 2008 13:58

Re: Events zur Designtime
 
Und warum nicht einfach so ohne TForm?
Delphi-Quellcode:
type
  TPoly = class(TCustomControl)
    procedure _MouseMove(var Msg:TWMMouseMove);message WM_MouseMove;
  end;

Medium 14. Mär 2008 14:12

Re: Events zur Designtime
 
Weil es nicht geht. Ich habs sogar ausprobiert ;)

sirius 14. Mär 2008 14:19

Re: Events zur Designtime
 
Ah, es sieht so aus als ob die WindowProc von tWinControl alle MouseMsg (unter einer bestimmten Bedingung) abfängt. Hast du mal versucht die WndProc zu überschreiben?

Medium 14. Mär 2008 14:30

Re: Events zur Designtime
 
Das wäre auch noch eine Idee. Könnte klappen, wenn nicht die IDE selbst schon an den Messages herumfummelt. Ich kann es heute allerdings leider nicht mehr testen, aber das wird definitiv Teil des Wochenendes. Weil das wäre doch noch ein paar Ecken elegater. Würde ja auch gerne testweise csDesigning mal nullen zum Test, aber auch das muss leider warten.

stahli 14. Mär 2008 18:59

Re: Events zur Designtime
 
Hallo Medium,

Du hast recht, mein Vorschlag funktioniert nicht.
Ich würde aber auch nicht unbedingt das IDE-Verhalten umbiegen. Du willst ja Deine Komponenten auch korrekt platzieren, in der Größe ändern, verschieben etc.

Was willst Du denn eigentlich genau machen? Auf dem Canvas direkt zeichnen? Wie willst Du denn dann die "Eingaben" mit dem Formular speichern? Die sollen ja dann mit dem Programmstart wieder zur Verfügung stehen...
Ich hab´s noch nicht ganz verstanden.

stahli

Medium 15. Mär 2008 00:56

Re: Events zur Designtime
 
Es soll eine Art eingebetteter Editor für einfache Polygonformen werden, die zudem gruppiert werden können, unterschiedlich gefüllt, etc. pp.
Die Polygone sollen darin zur Designtime an ihren Eckpunkten bearbeitet werden können, sprich Punkte anklicken, halten und ziehen. Die Speicherung würde entweder in einem Stringformat in einer Strings-Property gemacht, oder, was je nach aufkommender Datenmenge besser ist, in einer separaten Datei. Die Gedanken rotieren noch.

stahli 15. Mär 2008 08:11

Re: Events zur Designtime
 
Dann würde ich so herangehen:

Die Punkte selbst werden in einer Eigenschaft "PolygonStrings: TStrings" gespeichert, so kannst Du sie leicht mit dem Formular mit speichern und jederzeit im Editor ändern.
Für das direkte Bearbeiten der Polygone solltest Du einen Propertyeditor schreiben (habe ich allerdings noch keine Erfahrungen).
Dann kannst Du (wenn ich das richtig verstanden habe) in der IDE Duch Doppelklick auf Deine Property Polygon einen speziellen Editor dafür starten. Das entsprechende Formular würde dann m.E. Deine TPoly wie zur Laufzeit behandeln, so dass Du darauf zeichnen kannst.

Dann kannst Du in der IDE Deine Kompos anordnen und über den Eigenschaftseditor zeichnen...

Ich denke, das wäre der richtige Weg.


stahli

Hawkeye219 15. Mär 2008 10:39

Re: Events zur Designtime
 
Hallo Medium,

in Jans Freeware Collection findest du die Anwendung Diagrams 1.1. Jan Verhoeven verwendet dort eine eigene Komponente TJanShape3, die er neben zahlreichen anderen auf der Seite "Delphi" anbietet. Vielleicht liefert dir ein Blick in den Quelltext weitere Anregungen oder Lösungshinweise zu deinem Problem.

Gruß Hawkeye

Medium 15. Mär 2008 15:50

Re: Events zur Designtime
 
@stahli:
Ein separater Editor kommt leider nicht in Frage, da diese Komponenten pixelgenau mit anderen platziert werden müssen. Z.B. muss es möglich sein ein Button darüber zu legen, oder die Ausrichtung an anderen Teilen zu orientieren. Wenn man dazu erst Teile aus ihrem Kontext nimmt um sie zu editieren, wird es in ein Edit->schließen->gucken->passt nicht->Edit->gucken->schließen... ausarten, und genau das zu verhindern ist ja das Ziel. Daher hab ich einen Propertyeditor erst garnicht ins Spiel gebracht.
Was die Speicherung angeht: Gibt es irgendwelche technischen oder praktikablen Grenzen für die Größe von .dfm Files?

Die o.g. Komponente werde ich mir jetzt zu Gemüte führen. Danke dir für den Tipp!

Medium 15. Mär 2008 16:12

Re: Events zur Designtime
 
Entweder steh ich gerade sehr auf dem Schlauch, oder aber jans Komponenten bieten zwar eine editierbarkeit zur Runtime, aber im Delphi-Designer kann ich auch nicht mehr tun, als die Komponente aufs Formular werfen und in Größe und Position ändern. Ich brauche es ja genau umgekehrt!


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:22 Uhr.
Seite 2 von 4     12 34      

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