Formulardesigner?



  • Hi!
    Hat jemand von euch ne Idee wie man einen Fensterdesigner, genau wie der im C++Builder, slebst proggen kann? Weis jetzt nich ob das in WinAPI reinkommt oder auch hier reingeht. Ich hab mal was probiert, aber das sah am ende voll scheisse aus, da wurden echte Objekte generiert und dann angezeigt, aber so mit verschieben usw. war da nix:(((

    Gruss, ~code_pilot



  • Hallo,

    ich weiss ja nicht was du schon gemacht hast, was dann ... aussah, aber verschieben und so könnte man folgendermasen realisieren.

    Das OnMouseDown()-Event für das erzeugte Object anlegen und die Left und Top Eigenschaft über X, Y der Mouseposition neu setzen.
    Das ganze muss natürlich irgendwo gespeichert werden z.B. in einem INI-File.

    Gruß Mikel



  • jaaa...aber beachte mal den BCB-Fensterdesigner: Du klickst ein Objekt an, dann hast du euinen schönen rahmen darum, dann kann man das objekt durch den Rahmen vergrössern oder verkleinern usw. ... ich bin mir nicht sicher, ob der BCB im background auch neue instanzen von buttons usw. erzeugt nur für das designen ... hmm...

    gruss,
    code_pilot



  • Ja macht er.
    In den sichtbaren VCL-Objecten gibt es eine Eigenschaft, die man abfragen kann ob das Object in "Designtime" ist, also in der IDE angezeigt wird.
    Schau mal bei TControll nach, ich bin mir zwar nicht ganz sicher, aber ich denke dort sollte diese Eingenschaft eingeführt werden (ein RealdOnly Property)

    Gruß Mikel



  • Hi!
    Jo ich hab das was interessantes gefunden: IDesigner und IFormDesigner!

    Mein Problem ist nur: Ich weis jetzt nicht, wie ich die einsetze bzw. wie ich damit anfange soll. In der Hilfe steht

    IDesigner ist eine Schnittstelle, über die Komponentenentwickler mit dem Formular-Desaigner der IDE interagieren können.
    
    Unit
    Forms
    
    Beschreibung
    IDesigner stellt den Zugriff auf ein aktuell im Formular-Designer erstelltes Formular bereit und beeinflußt das Verhalten des Designers. Es wird z.B. festgelegt, ob es sich bei dem aktuellen Objekt ein Formular handelt oder es wird das Hilfsgitter für das Layout gezeichnet usw.
    
    Komponentenentwickler können auf die aktuelle IDesigner-Schnittstelle über die Eigenschaft Designer eines Formulars oder auf IFormDesigner (ein Nachkomme von IDesigner) über die Eigenschaft Designer eines Komponenten- oder Eigenschaftseditors zugreifen.
    
    Hinweis
    VCL-Methodendeklarationen, die IDesigner verwenden, setzen den Typ _di_IDesigner ein. Dies ist nur ein typedef, der der Klasse IDesigner entspricht.
    

    Hmm wie fange ich da jetzt an? Was muss ich tun, um ein Fenster jetzt in diesen Deisgnermodus zu kriegen, habe da voll keinen Plan 😞 ...

    thx & cu,
    code_pilot


Anmelden zum Antworten