Einem mit Create erzeugten Button einer (neuen) Klasse zuordnen ?



  • Hallo,

    wie kann man einem Button der mit Create erzeugt wurde einer Klasse zuordnen ? Ich habe z.B. eine Klasse die aus dem normalen Button ein XPButton macht, jetzt möchte ich wissen wie ich den Button, der mit Create erzeugt wurde, diese XPButton-Klasse zuordnen kann ! Normalerweise macht man das ja mit einer Member-Variable und dann inkludiert man die XPButton Headerdatei in der Dlg.h und setzt die Member-Variable dea Buttons dann auf CXPButton...Hoffe ihr versteht mein problem, ist ein bisschen schwer zu erklären !

    Hat jemand eine Idee ?

    Danke und Gruß
    :: NoName ::



  • Hallo,

    hat den CXPButton kein create. ich näme an des die klasse von CButton abgeleitet ist dan solte das gehen.

    du sagst ja "Member-Variable dea Buttons dann auf CXPButton" also änderst du den datentyp des buttons.

    MFG TaccoGo



  • Ich erstelle die Buttons nicht mit Hilfe von CXPButton, ich möchte sie nur in diesem Design haben. Und die CXPButton möchte ich jetzt nicht extra umschreiben !

    Gibt es keine andere Lösung ?

    Danke und Gruß
    :: NoName ::



  • Hallo,

    kanst du mir mal den code zeigen den du hir meinst:
    "Dlg.h und setzt die Member-Variable dea Buttons dann auf CXPButton"

    MFG TaccoGo



  • Naja, wenn man eine Member-Variable eines Buttons erstellt, dann sieht das ja so aus :

    class CTestDlg : public CDialog
    {
    // Construction
    public:
    	CTestDlg(CWnd* pParent = NULL);	// standard constructor
    
    // Dialog Data
    	//{{AFX_DATA(CTestDlg)
    	enum { IDD = IDD_TEST_DIALOG };
    	CButton 	m_HinzuFuegen;
    	//}}AFX_DATA
    ...
    

    Und jetzt wenn ich aus dem normalen Button ein XP Button mache:

    #include "XPButton.h"
    
    class CTestDlg : public CDialog
    {
    // Construction
    public:
    	CTestDlg(CWnd* pParent = NULL);	// standard constructor
    
    // Dialog Data
    	//{{AFX_DATA(CReminderDlg)
    	enum { IDD = IDD_REMINDER_DIALOG };
    	CXPButton 	m_HinzuFuegen; 
    	//}}AFX_DATA
    ...
    

    Und da ich ja keine Member Variable meines mit Create erstellten Buttons habe, kann ich es auch nicht so wie oben gezeigt machen !



  • Hallo,

    im oberen code hast du die varible m_HinzuFuegen vom typ CButton und im unteren code hast du die varible m_HinzuFuegen vom typ CXPButton.

    und da die klasse CXPButton von CButton abgeleitet ist knst du überal wo du CButton benutzt auch CXPButton benutzen.

    also:

    CXPButton button;
    button.Creat(...);
    

    dan hast du den steyl der CXPButton klasse.

    MFG TaccoGo



  • Verstehe, aber leider klappt das nicht ! Es entsteht beim Ausführen immer ein Fehler !



  • Sorry, habe einen kleinen Fehler gemacht, jetzt gehts !
    das Topic kann geschlossen werden !

    Nochmals Danke
    :: NoName ::


Anmelden zum Antworten