ActiveX in Eigenschaftsseite darstellen!



  • Hallo,

    ich habe eine ActiveX programmiert. Dieses soll in seiner eigenen Eigenschaftseite sich selbst darstellen. Sowas muss doch möglich sein!!
    Aber wie ?

    Ich freue mich über jede Hilfe!
    Mit freundlichen Grüßen

    Ronny W



  • Einfach eine Instanz des ActiveX erzeugen und Anzeigen, wenn die Eigenschaftseite geöffnet wird? Du bekomsmt doch da eine Benachrichtigung, wenn das passiert ....



  • Das geht ja leider nicht! Wenn ich eine Instanz meines Steuerelements erstelle, dann stürtzt das Programm ab sobald ich die Eigenschaftsseite aufrufe.

    ... etwas ausführlicher!
    Mein ActiveX ist eine Schaltfläche (CButtonCtrl).
    Diese habe ich mit VC++ 6.0 Anwendungsassistenten erstellt.
    (MFC ActiveX ...).

    Mein Steuerelement hat die Klasse "CButtonCtrl".
    Diese Klasse besitzt die Funktion "OnDraw(CDC *pdc, const CRect rcBounds)".

    Um das Steuerelement (CButtonCtrl) in seiner eigenen Eigenschaftsseite darzustellen, erstelle ich die OnPaint methode in der Klasse "CButtonPropPage", in der ich das Steuerelement instanziere.

    void CButtonPropPage::OnPaint() 
    {
    	CPaintDC dc(this); // device context for painting
    
    	CRect rcBounds;
    	rcBounds.left   = 10;
    	rcBounds.top    = 10;
    	rcBounds.right  = 50;
    	rcBounds.bottom = 20;
    
    	CButtonCtrl *pControl;
    	pControl->OnDraw(&dc, rcBounds, NULL);
    }
    

    rcBounds gibt hierbei die größe des ActiveX an.

    Problem:
    Wie schon oben gesagt: das Programm (in diesem Fall Visual Basic) stürtzt ab wenn ich die Eigenschaftsseite des Steuerelements aufrufe!

    Vielleicht kann mir jemmand sagen was ich falsch mache oder hat einen besseren Vorschlag!

    Gruß Ronny



  • Wie wäre es für den Anfang mal mit einem

    pControl = new CButtonCtrl;
    

    ?



  • Vielen Dank!
    Es funktioniert!


Log in to reply