Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Membervariable gesucht

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 <
000
25.11.2005, 17:54 Uhr
~__Thomy
Gast


Hallo,

mein Problem ist folgendes:
Ich hab bei Editor einen Dialog mit einem Animationsfeld erstellt,
jetzt hätte ich gerne eine Membervariable, mit der ich auf des Animationsfeld zugreifen kann.
Aber ohne Klassenassi.

Also in etwa so, oder? :

#include <windows.h>

WinMain
{
CAnimateCtrl m_ani;
m_ani.OPen();
}

CALLBACK DlgProc
{
...
}

So, nun sagt der Compiler, dass CAnimateCtrl nicht definiert ist und überhaupt, wie eise ich nun m_ani das Animationsfeld zu?


Thanx schonmal
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
25.11.2005, 18:58 Uhr
xXx
Devil


MFC
hmm ich weiß net warum du das net met klassen assi machen willst.. aber egal:

C++:
void CKlasse::DoDataExchange(CDataExchange* pDX)
{
...
}


das macht der Klassenassi aber auch nur...

WinAPI
Hmm... wie es aussieht, machst du ne WinAPI weil du ne WinMain hast... aber es scheint mir so als würdest du einen Dialog benutzen... naja.. dazu nur:
www.winapi.de

Dieser Post wurde am 25.11.2005 um 19:00 Uhr von xXx editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
26.11.2005, 15:20 Uhr
~__Thomy
Gast


Wie würde denn das Grundgerüst aussehen, wenn ich MFC benutzen würde?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
27.11.2005, 16:53 Uhr
xXx
Devil


hmm in etwa so:

KlasseWnd.h

C++:
#pragma once

class CKlasseWnd : public CWnd
{
    
public:
    CKlasseWnd();
protected:
    DECLARE_DYNAMIC(CKlasseWnd();)

// Attribute
public:

// Operationen
public:

    // Überschreibungen
public:
    virtual BOOL OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo);

// Implementierung
public:
    virtual ~CKlasseWnd();
#ifdef _DEBUG
    virtual void AssertValid() const;
    virtual void Dump(CDumpContext& dc) const;
#endif

// Generierte Funktionen für die Meldungstabellen
protected:
    DECLARE_MESSAGE_MAP()
};



KlasseWnd.cpp


C++:
#include "stdafx.h"
#include "KlasseWnd"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// CKlasseWnd

IMPLEMENT_DYNAMIC(CKlasseWnd, CWnd)

BEGIN_MESSAGE_MAP(CKlasseWnd, CWnd)
    ON_WM_CREATE()
    ON_WM_SETFOCUS()
END_MESSAGE_MAP()

CCKlasseWnd::CKlasseWnd()
{
    // TODO: Hier Code für die Memberinitialisierung einfügen
}

CKlasseWnd::~CKlasseWnd()
{
}


// CKlasseWnd Diagnose

#ifdef _DEBUG
void CKlasseWnd::AssertValid() const
{
    CWnd::AssertValid();
}

void CKlasseWnd::Dump(CDumpContext& dc) const
{
    CWnd::Dump(dc);
}

#endif //_DEBUG



Das wäre der Inhalt deines Fensters... leider würde der App-Wizard dir so ne App niemals erstellen, wiel das ding nur SDI, MDI oder Dialogbasiert kennt... das ist aber keines von denen

KlasseApp.h

C++:
#pragma once

#ifndef __AFXWIN_H__
    #error 'stdafx.h' muss vor dieser Datei in PCH eingeschlossen werden.
#endif

#include "MainFrm.h"
#include "resource.h"       // Hauptsymbole

// CKlasseApp
// Siehe CKlasseApp.cpp für die Implementierung dieser Klasse
//

class CKlasseApp : public CWinApp
{
public:
    CKlasseApp();

    CWnd        m_wndTemp;
    CKlasseApp    m_wndMain;
// Überschreibungen
public:
    virtual BOOL InitInstance();

// Implementierung

public:
    DECLARE_MESSAGE_MAP()
};

extern CKlasseApp theApp;



CKlasseApp.cpp

C++:
#include "stdafx.h"
#include "KlasseApp.h"
#include "KlasseWnd.h"


#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// CKlasseApp

BEGIN_MESSAGE_MAP(CKlasseApp, CWinApp)
END_MESSAGE_MAP()

// CKlasseApp-Erstellung

CKlasseApp::CKlasseApp()
{
    // TODO: Hier Code zur Konstruktion einfügen
    // Alle wichtigen Initialisierungen in InitInstance positionieren
}


// Das einzige CKlasseApp-Objekt

CKlasseApp theApp;

// CKlasseApp Initialisierung

BOOL CKlasseApp::InitInstance()
{
    CWinApp::InitInstance();

    SetRegistryKey(_T("Devil Entertainment"));
    
    m_pMainWnd = new CMainFrame;
    m_wndMain.EnableResize();

    if (!m_wndMain.Create(&m_wndTemp, AfxGetAppName(), "./res/skin.bmp")){
        MessageBox(NULL, "Leider ist die Erstellung des Hauptfensters fehlgeschlagen!", "Fehler", MB_OK | MB_ICONEXCLAMATION);
        return FALSE;
    }
    
    m_wndMain.ShowWindow(SW_SHOW);

    return TRUE;
}



Soo.. das sollte funzen Und ist auch bei Skinned Apps sehr von Vorteil...


Mfg
Devil


Bearbeitung von Devil:

Hmm seh gerade, das du die m_wndMain.Create(...) anpassen musst... ist nen Teil aus nem altören Projekt mit Skins usw. von mir.. sry.


Dieser Post wurde am 27.11.2005 um 16:55 Uhr von xXx editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
30.11.2005, 16:07 Uhr
~__Thomy
Gast




Das wars was ich brauchte

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ 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: