Einzelnen Beitrag anzeigen

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, 22: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