AGB  ·  Datenschutz  ·  Impressum  







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

Eigenen Formdesigner realisieren

Ein Thema von I.A · begonnen am 11. Mär 2009 · letzter Beitrag vom 12. Mär 2009
Antwort Antwort
I.A

Registriert seit: 14. Jan 2007
83 Beiträge
 
#1

Eigenen Formdesigner realisieren

  Alt 11. Mär 2009, 23:05
Hallo!

Vor einigen Tagen habe ich diesen Thread hier eröffnet:

http://www.delphipraxis.net/internal...lektionsrahmen

Der User _frank_ gab dort einen Dwnloadlink für eine Unit Namens SizeControl in der Datei TSizeCtrl.zip. Dort wird nicht nur gezeigt, wie man einen Selektionsrahmen um die Komponente zeichnet, sondern wie ein Form Designer analog dem von Delphi gebaut werden kann. Hier ist noch mal der Link:

www.angusj.com/delphi

Ich habe mir nun von Kasparsoft einen Objektinspektor runtergeladen (TRakObjectInspectorGrid). Hier:

http://www.kasparsoft.de/opensource.htm

Dort habe ich mir alle für die Verwendung nötigen Units einschließlich TRakObjectInspectorGrid geholt.

Nun weiß ich aber nicht, wie der Form Designer der Unit SizeControl erkennt, welche Komponente ich mit der Maus angeklickt habe. Ich verstehe den Quelltext nicht vollständig. Das müßte ja ein Ereignis OnClick sein, aber das ist ja dann das der Komponente. Ich werde in der Zwischenzeit schauen, ob das OnClick Ereignis an SizeControl weiter gereicht wird, dann nämlich müsste ich über den Parameter Sender die angeklickte Komoponente finden. Genau, das werde ich jetzt probieren. Wenn das mein Problem löst, werd ich wohl mal vor Ablauf der nächsten 24 Stunden mitteilen, das die Vermutung richtig ist.
  Mit Zitat antworten Zitat
Florian Hämmerle
(Gast)

n/a Beiträge
 
#2

Re: Eigenen Formdesigner realisieren

  Alt 12. Mär 2009, 06:59
Cool.
Ich hab mal versucht mir einen eigenen zu schreiben. Ist aber nichts geworden.

mfg Flö
  Mit Zitat antworten Zitat
kaju74

Registriert seit: 22. Okt 2003
185 Beiträge
 
#3

Re: Eigenen Formdesigner realisieren

  Alt 12. Mär 2009, 10:39
Guten Morgen.

Ich habe mal einen Form Designer für Inno Setup geschrieben, der eine Komponenten-Bibiliothek benutzt hat, die u.a. einen Inspector und einen Designer hatte (Freeware). Wenn Interesse besteht, kann ich die Sourcen meines Projekts gerne mal online stellen.

Lieben Gruß,
kaju
  Mit Zitat antworten Zitat
I.A

Registriert seit: 14. Jan 2007
83 Beiträge
 
#4

Re: Eigenen Formdesigner realisieren

  Alt 12. Mär 2009, 11:49
Zitat von kaju74:
Guten Morgen.

Ich habe mal einen Form Designer für Inno Setup geschrieben, der eine Komponenten-Bibiliothek benutzt hat, die u.a. einen Inspector und einen Designer hatte (Freeware). Wenn Interesse besteht, kann ich die Sourcen meines Projekts gerne mal online stellen.

Lieben Gruß,
kaju
Hey, klasse!

Aber danke für das Angebot. Gut gemeint, aaaberrr ich muss erst mal den Quelltext der SizeControl Komponente verstehen. Das klappt damit so weit. Die Soucen des Inno Setup Projektes müsste ich dann auch erst mal verstehen. Momentan hab ich aber mit dem Verstehen der SizeContrl Komponente voll zu tun.

Meine vorige Frage hat sich erledigt. ActiveControl ist mein Freund. Ich hatte die aktuell angeklickte Komponente gesucht, um sie an den Objektispektor übergeben zu können. Logisch, das daher in der SizeControl Komponente nicht noch mal Code geschrieben ist, der die aktuelle Komponente anzeigt.
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#5

Re: Eigenen Formdesigner realisieren

  Alt 12. Mär 2009, 18:45
warum willst du einen eigenen Form-Designer erstellen?

hast du dir meinen DFM-Editor schon mal angeschaut? da hab ich die SizeCtrl-Kompo in Benutzung, einen eigenen ObjectInspector und eine Objekt-Ablage (Komponentenpalette).

vielleicht hast lust da mitzumachen. es war eigentlich noch ein Plugin-System geplant, bin aber zeitlich nicht mehr dazu gekommen...

Gruß Frank
  Mit Zitat antworten Zitat
I.A

Registriert seit: 14. Jan 2007
83 Beiträge
 
#6

Re: Eigenen Formdesigner realisieren

  Alt 12. Mär 2009, 19:59
Zitat von _frank_:
warum willst du einen eigenen Form-Designer erstellen?

hast du dir meinen DFM-Editor schon mal angeschaut? da hab ich die SizeCtrl-Kompo in Benutzung, einen eigenen ObjectInspector und eine Objekt-Ablage (Komponentenpalette).

vielleicht hast lust da mitzumachen. es war eigentlich noch ein Plugin-System geplant, bin aber zeitlich nicht mehr dazu gekommen...

Gruß Frank
Hallo _frank_!

Erst mal danke Dir wie verrückt für Deine Arbeit.

Ich hab die SizeCtrl Kompo verwendet. Was meinst Du mit Dfm Editor. Ich habe das SizeCtrl Demo Programm, wo mehrere Kompos auf dem Formular sind und ich per Chckbox den Formdesigner Ein und Aus schalten kann. Einen Objektinspektor habe ich da überhaupt nicht gefunden.

Habe jetzt einen Objektinspektor von der Kasparsoft Seite im Einsatz. Muss da aber noch an der Verbindung basteln. In der Datei TSizCtrl.zip ist nur die SizeCtrl Komponente. Da ist kein Dfm Editor und auch kein Objektinspektor dabei. Es sei denn Du meinst mit DFM Editor das SizeCtrl Demo Programm. Aber wie gesagt, kein Objektinspektor dabei. Daher den von Kasparsoft genommen.
Datei RakSrcDx.zip von der Open-Source-Seite unter Basisklassen und Funktionen. Unter TRakObjectinspectorgrid gibt es noch die RakVclDx.zip und zwei Testprogramme.

Ich habe auf jeden Fall Lust, mit zu machen.

Wie hast Du die Komponentenpalette vom Design her aufgebaut? Ich habe eine Variante im Delphi 7 Design. Ich habe eine eingene RegisterComponents Prozedur geschrieben, mit der eine Komponete mit derselben Syntax wie in Delphi registriert und in die Komponentenplatte eingefügt wird.
Die Komponenten selber werden in einer Stringlste gespeichert. Eigenschaft Objects[Index].

Der nächste Schritt wäre dann, die Komponente aus der Palette auszuwählen, (geht per Itemindex, da Kompo in Liste gespeichert) und an der Stelle, wo mit Maus auf das Formular geklickt wird, auf selbiges zu setzen.

Ja, das Thema interssiert mich. Wenn Du da ein Projekt planst, bin ich gerne dabei.

Jetzt werd ich erst mal meinen Objektinspektor "überreden", die Eigenschaften und Ereignisse der ActiveControl mit passendenden Editfeldern im Objektinspektor anzuzeigen, wie ich das von der Delphi IDE gewohnt bin.

Es grüßt Dich Hartmut
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#7

Re: Eigenen Formdesigner realisieren

  Alt 12. Mär 2009, 21:07
Zitat von I.A:
Erst mal danke Dir wie verrückt für Deine Arbeit.
dafür sind wir doch da, oder?
Zitat von I.A:
Ich hab die SizeCtrl Kompo verwendet.Was meinst Du mit Dfm Editor. Ich habe das SizeCtrl Demo Programm, wo mehrere Kompos auf dem Formular sind und ich per Chckbox den Formdesigner Ein und Aus schalten kann. Einen Objektinspektor habe ich da überhaupt nicht gefunden.
ich meine nicht die Demo von TSizeCtrl...schau mal in meine Signatur
Zitat von I.A:
Habe jetzt einen Objektinspektor von der Kasparsoft Seite im Einsatz. Muss da aber noch an der Verbindung basteln. In der Datei TSizCtrl.zip ist nur die SizeCtrl Komponente. Da ist kein Dfm Editor und auch kein Objektinspektor dabei. Es sei denn Du meinst mit DFM Editor das SizeCtrl Demo Programm. Aber wie gesagt, kein Objektinspektor dabei. Daher den von Kasparsoft genommen.
Datei RakSrcDx.zip von der Open-Source-Seite unter Basisklassen und Funktionen. Unter TRakObjectinspectorgrid gibt es noch die RakVclDx.zip und zwei Testprogramme.
bei externer VCL lernst aber nicht viel...bis auf die SizeCtrl-Komponente und paar Funktionen (hauptsächlich rtti) von Hagen und bisschen Hilfe aus dem Forum ist alles von mir.
Zitat von I.A:
Ich habe auf jeden Fall Lust, mit zu machen.
freut mich, schau dir einfach mal den quellcode von dem DFM-Editor an, liegt ja als Opensource bei SF und verwendet auch TSizeCtrl (hab die ja teilweise mitentwickelt damals, zumindest bugsuche und features ).
Zitat von I.A:
Wie hast Du die Komponentenpalette vom Design her aufgebaut? Ich habe eine Variante im Delphi 7 Design. Ich habe eine eingene RegisterComponents Prozedur geschrieben, mit der eine Komponete mit derselben Syntax wie in Delphi registriert und in die Komponentenplatte eingefügt wird.
Die Komponenten selber werden in einer Stringlste gespeichert. Eigenschaft Objects[Index].

Der nächste Schritt wäre dann, die Komponente aus der Palette auszuwählen, (geht per Itemindex, da Kompo in Liste gespeichert) und an der Stelle, wo mit Maus auf das Formular geklickt wird, auf selbiges zu setzen.
so ähnlich mache ich es auch, die Komponenten on-the-fly per string zu erzeugen ist schon ne kleine Hürde, wo ich ne weile gebastelt habe...*g*
Zitat von I.A:
Ja, das Thema interssiert mich. Wenn Du da ein Projekt planst, bin ich gerne dabei.
wie gesagt, das Projekt existiert schon, hab bisher nur mangels Zeit nicht weiter gemacht. wollte eine Pluginschnittstelle machen um z.b. auch scriptbearbeitung möglich zu machen.
Zitat von I.A:
Jetzt werd ich erst mal meinen Objektinspektor "überreden", die Eigenschaften und Ereignisse der ActiveControl mit passendenden Editfeldern im Objektinspektor anzuzeigen, wie ich das von der Delphi IDE gewohnt bin.
der DFMEditor spielt teilweise arg mit der RTTI rum, um solche sachen zu realisieren
man hat comboboxen für enum-typen, checklistbox für Sets, Edits für strings, Spinedits für Numerische werte usw. ein besonderes Gimmick sind dann die Spezialcombos für TCursor und TColor das hat auch ein bisschen zeit gebraucht (OwnerDrawCombo mit Texteingabe)

also einfach mal anschauen (Screenshots/Code/Binary-Packet).Voraussetzung für mein Projekt ist aber, dass kaum externe VCL verwendet wird und es unter d3 compilierbar ist.

Gruß Frank
  Mit Zitat antworten Zitat
I.A

Registriert seit: 14. Jan 2007
83 Beiträge
 
#8

Re: Eigenen Formdesigner realisieren

  Alt 12. Mär 2009, 21:40
Hallo Frank!

Danke erst mal für die Quellcodes. Habe mir die Sachen jetzt runter geladen. AUch die Scite IDE.

Werde mir das alles jetzt erst mal ansehen.

Bis denne!


Grüße von

Hartmut
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#9

Re: Eigenen Formdesigner realisieren

  Alt 12. Mär 2009, 21:48
Zitat von I.A:
Danke erst mal für die Quellcodes. Habe mir die Sachen jetzt runter geladen. AUch die Scite IDE.
Werde mir das alles jetzt erst mal ansehen.
scite-ide und circuitboard sind 2 unabhängige Projekte brauchst nur dfmedit von der SF-Seite, da ist alles drin, was du brauchst. mehr verwirrt nur...dfmedit ist groß genug

nehme natürlich auch performance-Patches gerne entgegen, da bestimmte sachen mir teilweise noch zu langesam sind.

Gruß Frank
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:17 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