Eigenes Control schreiben



  • Hallo,

    tja, der Titel sagt ja schon was ich vor hab. Für mein Vorhaben sehe ich 2 mögliche Wege:

    1. eine Ableitung von "generic CWnd" erstellen und dort alles "reinbauen" was man braucht. (Zeichnen des Controls, Nachrichtenbehandlung, etc.) Hier war bei ersten Versuchen jedoch schon rel. früh Schluß... In meiner Dialog-Resource plazierte ich ein Custom Control ("benutzerdefiniertes Steuerelement"). CWnd selber bekommt im Konstruktor keine Resourcen-ID übergeben. OK, den Konstruktor der abgeleiteten Klasse erweitern (UINT nResID)... gut... und dann? Wie lese ich dann die Werte aus der Resource aus? (Koordinaten, Größe, Style, etc.)

    2. Ein ActiveX-Control mittels ATL erstellen. Das schreibt zumindest mein schlaues MS-Press Buch... Erscheint mir auf dem ersten Blick jedoch erstmal wie "von hinten durch die Brust ins Auge", ein neues Projekt anlegen, dort mit ATL ein ActiveX-Control bauen, das dann in mein VS 6 importieren um es in meiner MFC-Applikation zu benutzen...

    Hat da jmd. Erfahrung mit? Welchen Weg würdet ihr empfehlen? Kann da einer Tips geben bzw. etwas licht in mein (noch vorherschendes) Dunkel bringen? Bin für alles dankbar

    Vielen dank schonmal im Voraus...

    Haui



  • Man müsste das Control z.B. im ctor der Klasse mit einem eindeutigen Namen registrieren. Diesen Namen trägt man dann in die Eigenschaften des Custom Controls ein. Die zweite Möglichkeit wäre, das Control per Create bzw. CreateEx zu erstellen, was ich immer bevorzuge.

    http://www.codeproject.com/miscctrl/customcontrol.asp



  • Ahh, na das hilft mir doch schon weiter. Vielen dank 🙂


Log in to reply