AGB  ·  Datenschutz  ·  Impressum  







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

Simplen eigenen Formulardesigner entwickeln

Ein Thema von daniel775 · begonnen am 18. Sep 2017 · letzter Beitrag vom 19. Sep 2017
Antwort Antwort
Seite 1 von 2  1 2      
daniel775

Registriert seit: 27. Nov 2010
46 Beiträge
 
#1

Simplen eigenen Formulardesigner entwickeln

  Alt 18. Sep 2017, 11:27
Hallo,

kann mir jemand mal ein paar Denkanstösse geben, wie man einen einfachen Formulardesigner entwickelt. Der muss nichts großartiges können. Reichen würden im Prinzip 2, 3 Controls die z.B. auf ein TCustomControl gesetzt werden was ein DINA4 Blatt mit Randeinstellungen darstellt. Eine Horizontale Linie, ein Label und ein Image-Control.

Als Eigenschaft haben solche Labels dann z.B. Name1, Zusatz, Name2, Strasse/Hausnr, PLZ und Ort. Im Prinzip wie in MS Word der Serienbriefdesigner. Nur das man per Drag&Drop die Komponenten auf das Blatt platziert. Anschließend würde ich gerne die x, y Positionen der Controls mit den Randeinstellungen des Blatts auslesen und in einer DB wegspeichern.

Oder hat schon mal jemand so etwas entwickelt was man frei nutzen bzw. erweitern kann? Ein paar Beispiele habe ich schon hier im Forum gesehen. Die sind allerdings mehr ein Formulardesigner für Forms in Delphi.

Die Verwendung von Rave oder FreeReport wollte ich vermeiden, da ich frei in der Darstellung bleiben möchte. Gearbeit habe ich schon einmal damit, bin auch damit vertraut. Ich bin mir bewusst das man sich dann um alles selbst kümmern muss. Ich habe schon einmal ein statisches Formular mit der TPrint Komponente entwickelt. Allerdings würde ich gern einwenig komfor einbauen, was mir die Sache mit dem Design in der Voransicht und der Übersicht erleichert.

Hinzu kommt das ein Logo platziert werden muss. Da habe ich gelesen das dass mit RaveReport nicht so einfach sein soll.

Genutzt wird Delphi 7 Prof.

Beste Grüße

Geändert von daniel775 (18. Sep 2017 um 12:11 Uhr)
  Mit Zitat antworten Zitat
daniel775

Registriert seit: 27. Nov 2010
46 Beiträge
 
#2

AW: Simplen eigenen Formulardesigner entwickeln

  Alt 18. Sep 2017, 13:23
Ich habe gerade mal ein Beispiel gemacht, damit ihr ungefähr eine Vorstellung habt was ich meine.
(Siehe Anhang)
Miniaturansicht angehängter Grafiken
form-designer.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Simplen eigenen Formulardesigner entwickeln

  Alt 18. Sep 2017, 13:32
Kannst Du mal präzisieren, was Du genau wissen willst?

Wie man eine Palette erstellt und Controls davon zieht oder wie man Controls im Designer verschieben kann oder wie man die Positionen auf ein Blatt umrechnet?

Grundsätzlich könntest Du die Controls in einer Textdatei (oder auch Ini oder XML) speichern
Zitat:
Panel
Left=100
Top=100
Width=100
Height=100
und so bei Bedarf wieder dynamisch herstellen.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
daniel775

Registriert seit: 27. Nov 2010
46 Beiträge
 
#4

AW: Simplen eigenen Formulardesigner entwickeln

  Alt 18. Sep 2017, 14:06
Die Labels habe ich jetzt händisch auf das Image Control gesetzt. Und dabei habe ich gerade festgestellt, das sich bei dem Image Control überhaupt keine Komponenten unterordnen lassen. Dementsprechend geht Image1.Controls[] leider nicht. Also müsste ich warscheinlich auf ein Panel ausweichen. Nur das Panel hat wiederum kein Canvas. Somit geht

Code:

  Panel2.Canvas.Brush.Color := clwhite;
  Panel2.Canvas.Pen.Color := clblack;
  Panel2.Canvas.Pen.style := psDashDot;
  Panel2.Canvas.Rectangle(20, 20, 560, 620);
leider auch nicht.

Würde gern auf den Button "H-Line" klicken und diesen dann per Drag&Drop auf das Image setzen und ggf. nach dem positionieren noch korrigieren ohne zu löschen. Was jetzt auch nicht so schlimm wäre, aber das korrigieren fände ich besser. Oder in der Combo-Box ein Element auswählen und dieses dann per Drag&Drop als Label z.B. platzieren. Wie ich die Koordinaten bei den Labels, H-Lines oder Images dabei schreibe und auslese oder hinterher die Control Positionen per Schleife mit z.B.
Code:
for i := 0 to Panel1.ControlCount - 1 do
begin
 if (Panel1.Controls[i] is TLabel) then
 begin
 end;
end;
auslese ist mir bekannt. Nur hab ich leider noch nie Drag&Drop funktionen geschrieben oder ausgewählte Elemente in Comboboxen in Label Kompo´s umgewandelt und auf ein Panel gesetzt.

Geändert von daniel775 (18. Sep 2017 um 14:17 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Simplen eigenen Formulardesigner entwickeln

  Alt 18. Sep 2017, 14:55
Meinst Du ungefähr so etwas? https://www.youtube.com/watch?v=8-mcMRl46Aw
Wenn Du nichts fertiges findest, kann ich mal die Quellen mal raussuchen (das war aber in ein komplexeres Framework eingebettet).

Du müsstest halt mal Versuche mit Drag&Drop machen.
Grundsätzlich muss man sich sich die Klickposition (X/Y) auf dem Control merken und dann auf MouseMove über dem eigenen Control reagieren.
Dazu setzt man das Control dann auf an die aktuelle Mausposition -X/Y.
Dabei muss man aber die Positionen relativ zum Parent berücksichtigen und auch, dass sich die Maus über dem Parent oder anderen Controls bewegen kann.

Das "runterziehen von der Palette" ist etwas komplizierter. Da kann man ein neues Control auf den Designer setzen und dafür StartDrag aufrufen...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
daniel775

Registriert seit: 27. Nov 2010
46 Beiträge
 
#6

AW: Simplen eigenen Formulardesigner entwickeln

  Alt 18. Sep 2017, 15:10
Zitat:
Meinst Du ungefähr so etwas? https://www.youtube.com/watch?v=8-mcMRl46Aw
Ja sowas meinte ich.
  Mit Zitat antworten Zitat
Jens01

Registriert seit: 14. Apr 2009
673 Beiträge
 
#7

AW: Simplen eigenen Formulardesigner entwickeln

  Alt 18. Sep 2017, 15:33
http://www.delphiarea.com/products/d...nents/preview/
Achtung: Bin kein Informatiker sondern komme vom Bau.
  Mit Zitat antworten Zitat
daniel775

Registriert seit: 27. Nov 2010
46 Beiträge
 
#8

AW: Simplen eigenen Formulardesigner entwickeln

  Alt 18. Sep 2017, 15:55
Jepp... die Komponente nutz ich schon für die Vorschau
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Simplen eigenen Formulardesigner entwickeln

  Alt 18. Sep 2017, 15:56
Es ist sicher sinnvoll, ein fertiges Framework dazu zu verwenden.

Für alle Fälle anbei aber mal zwei Dateien zur Orientierung für eine eigene Lösung.
Du müsstest Dir die entsprechenden Stellen wie BeginDrag, DragOver, DragDrop heraussuchen. Sorry, dass das nicht übersichtlicher ist.
Angehängte Dateien
Dateityp: zip odDesigner.zip (18,1 KB, 7x aufgerufen)
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#10

AW: Simplen eigenen Formulardesigner entwickeln

  Alt 18. Sep 2017, 16:02
Auch wenn das keine direkte Antwort auf deine Frage ist:

Kann es sein dass du einfach nur einen Reportdesigner/generator brauchst bzw. bauen willst?
Sollen sich deine Kunden im Programm selbst Rechnungen/Briefe designen können?

Falls ja, dann such mal nach Bei Google suchenDelphi report generator oder z.B. nach Bei Google suchenFastreport (Ist bei neueren Delphi Versionen schon dabei!).

Das erspart dir 1000000000000 Stunden Arbeit und man hats sehr schnell eingebaut und kann damit echt in kurzer Zeit schöne Reporte erstellen.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."

Geändert von Neutral General (18. Sep 2017 um 16:05 Uhr)
  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:56 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