Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » CFormView ableiten?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
25.05.2005, 16:59 Uhr
~Blubb
Gast


Hallo zusammen,

Ich möchte eine neue Basisklasse, welche von CFormView ist, erstellen um dort Sachen zu definieren die ich in allen View-Klassen eh brauche.

Jetzt habe ich über den Wiz eine MFC-Klasse erstellt und dabei kam folgendes heraus


C++:
FormView.h
---
#pragma once

class CFormViewEx : public CFormView
{
    DECLARE_DYNCREATE(CFormViewEx)

public:
    enum { IDD = IDD_FORMVIEWEX };

    CFormViewEx();
    virtual ~CFormViewEx();
    
#ifdef _DEBUG
    virtual void AssertValid() const;
    virtual void Dump(CDumpContext& dc) const;
#endif

protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV-Unterstützung

    DECLARE_MESSAGE_MAP()
};

FormView.cpp
---
#include "stdafx.h"
#include "FormViewEx.h"

IMPLEMENT_DYNCREATE(CFormViewEx, CFormView)

CFormViewEx::CFormViewEx() : CFormView(IDD)
{
}

/*virtual*/ CFormViewEx::~CFormViewEx()
{
    // Destruct
}

void CFormViewEx::DoDataExchange(CDataExchange* pDX)
{
    CFormView::DoDataExchange(pDX);
}

BEGIN_MESSAGE_MAP(CFormViewEx, CFormView)
END_MESSAGE_MAP()

#ifdef _DEBUG
    void CFormViewEx::AssertValid() const
    {
        CFormView::AssertValid();
    }

    void CFormViewEx::Dump(CDumpContext& dc) const
    {
        CFormView::Dump(dc);
    }
#endif //_DEBUG

ViewStart.h
---
#pragma once
#include "FormViewEx.h"

class CViewStart : public CFormViewEx
{
    DECLARE_DYNCREATE(CViewStart)

public:
    enum { IDD = IDD_VIEW_START };
    CViewStart();
    virtual ~CViewStart();
    
#ifdef _DEBUG
    virtual void AssertValid() const;
    virtual void Dump(CDumpContext& dc) const;
#endif
.
.
.


ViewStart.cpp
---
IMPLEMENT_DYNCREATE(CViewStart, CFormViewEx)

CViewStart::CViewStart() : CFormViewEx(CViewStart::IDD)
{
}

CViewStart::~CViewStart()
{
}
.
.
.
.



So jetzt hab ich meine klasse von CFormViewEx abgeleitet und es kommt folgende meldung (die ich nach langen suchem und "fummeln") nicht wegkriege.

viewstart.cpp(10) : error C2660: 'CFormViewEx::CFormViewEx': Funktion akzeptiert keine 1 Argumente

hoffe ihr könnt mir da weiterhelfen.

Blubb

Dieser Post wurde am 23.09.2005 um 18:56 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
25.05.2005, 19:00 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


schau dir die definition vom konstruktor deiner klasse an und vergleich den mal mit dem der basisklasse ^^ da fehlt bei dir einfach der parameter
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
25.05.2005, 19:32 Uhr
~Blubb
Gast


Hi, ok vielleicht hab ichs etwas falsch ausgedrückt.

Ich weiß nich genau wie der Konstruktor aussehen soll. Alles was ich getestet habe klappt nicht.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
25.05.2005, 19:35 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


mit parameter UINT nIDTemplate


C++:
class ...
{
public:
   CFormViewEx(UINT nIDTemplate = IDD);
}



und dann


C++:
CFormViewEx::CFormViewEx(UINT nIDTemplate /*= IDD*/) : CFormView(nIDTemplate)
{
}


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
27.05.2005, 08:39 Uhr
~Blubb
Gast


Soweit so gut, das hatte ich auch schon ausprobiert aber dort krieg ich folgende Meldung

formviewex.cpp(23) : error C2668: 'CFormViewEx::CFormViewEx': Mehrdeutiger Aufruf einer überladenen Funktion

und damit kann ich nichts anfangen oO die Zeile die gemeint ist lautet wie folgt:

IMPLEMENT_DYNCREATE(CFormViewEx, CFormView)

mfg

Blubb
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
27.05.2005, 09:43 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


der Konstruktor der ViewStart darf den Parameter nicht haben...
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
27.05.2005, 11:46 Uhr
~Blubb
Gast


Hi, Welchen Parameter?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
27.05.2005, 11:50 Uhr
Spacelord
Hoffnungsloser Fall


Wie genau sieht jetzt dein CFormViewEx Konstruktor aus?

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
29.05.2005, 09:27 Uhr
~Blubb
Gast


Hi wie oben bie Flo beschrieben, nur ich krieg ne fehlermeldung das kein geeigneter Std. Kontruktor vorhanden ist. wenn ich den "alten" Kontruktor ohne Parameter zusätzlich hinzufüge klappts aber er gibt ne Warning raus alla mehrfacher Standard Kontruktor. Das ist ja das was mich hier die ganze Zeit verwirrt
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
29.05.2005, 10:05 Uhr
Spacelord
Hoffnungsloser Fall


Hat dein Kostruktor mit Parameter denn nen default Parameter?
Bei Flo ist der ja auskommentiert.

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: