Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » FAQ VC++ / MFC » Allgemeines

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
16.01.2003, 20:33 Uhr
Uwe
C/C++ Master
(Administrator)


Um die auf dieser Seite gezeigten Beispiele nachvollziehen zu können
ist zu empfehlen mit dem Anwendungsassistenten von VC++ 6.0 die Projekte
mit MFC Unterstützung anzulegen. Ich habe dies im folgenden mit dem Projekt
"test" getan und erhalte die Datei "test.cpp" mit folgendem Aussehen:


C++:
// test.cpp: Definiert den Einsprungpunkt für die Konsolenanwendung.
//
#include "stdafx.h"
#include "test.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// Das einzige Anwendungsobjekt
CWinApp theApp;

using namespace std;

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
    int nRetcode = 0;
    // MFC initialisieren, Ausgabe und Fehlermeldung bei Fehlern
    if (!AfxWinInit(::GetModuleHandle(NULL),NULL, ::GetCommandLine(), 0))
    {
        // ZU ERLEDIGEN: Fehlercode gemäß Ihren Anforderungen ändern
        cerr << _T("Fatal Error: MFC initialization failed") << endl;
        nRetCode =   1;
    }
    else
    {
        // ZU ERLEDIGEN: Anwendungsverhalten hier festlegen.
        CString strHello;
        strHello.LoadString(IDS_HELLO);
        cout << (const TCHAR*)strHello << endl;
    }
    return nRetCode;
}



Einige Anmerkungen dazu. Die Includeanweisung



C++:
#include "stdafx.h"



ist notwendig für die Verwaltung vorkompillierter Header, was bedeutet wir brauchen uns um Includes wie
&lt;iostream>, &lt;afx.h>
nicht weiter zu kümmern, was ein Blick in die "stdafx.h" Datei uns belegt.


C++:
// stdafx.h: Include-Datei für Standard-System-Include-Dateien,
// oder projektspezifische Include-Dateien, die häufig benutzt, aber
// in unregelmäßigen Abständen geändert werden.
//

#if !defined(AFX_STDAFX_H__56FA92AE_B8B7_4F99_84E5_EE58AFFB2C58__INCLUDED_)
#define AFX_STDAFX_H__56FA92AE_B8B7_4F99_84E5_EE58AFFB2C58__INCLUDED_

#if _MSC_VER >  1000
#pragma once
#endif // _MSC_VER >  1000

#define VC_EXTRALEAN // Selten benutzte Teile der Windows-Header nicht einbinden

#include &lt;afx.h>
#include &lt;afxwin.h>   // Kern- und Standardkomponenten von MFC
#include &lt;afxext.h>   // MFC-Erweiterungen
#include &lt;afxdtctl.h> // MFC-Unterstützung für allgemeine Steuerelemente von Internet Explorer 4

#ifndef _AFX_NO_AFXCMN_SUPPORT
#include &lt;afxcmn.h>   // MFC-Unterstützung für allgemeine Steuerelemente von Windows
#endif // _AFX_NO_AFXCMN_SUPPORT

#include &lt;iostream>

// ZU ERLEDIGEN: Verweisen Sie hier auf zusätzliche Header-Dateien, die Ihr Programm benötigt

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ fügt zusätzliche Deklarationen unmittelbar vor der vorherigen Zeile ein.

#endif // !defined(AFX_STDAFX_H__56FA92AE_B8B7_4F99_84E5_EE58AFFB2C58__INCLUDED_)



Hier werden alle benötigten Header korrekt eingebunden. Nichtbenötigte Header
für die eigene Anwendung können hier auch mit


C++:
//



deaktiviert werden. Die restlichen Anweisungen dienen unter anderem dazu,
zu verhindern, dass der gleiche Header mehrfach eingebunden wird.
Also dort nichts verändern! Jetzt hat VC++6.0 eigenmächtig eine "Hallo Welt!"
Anwendung erstellt. Um unsere Anwendungen zu schreiben entfernen wir folgende
Zeilen in "test.cpp":


C++:
CString strHello;
strHello.LoadString(IDS_HELLO);
cout << (const TCHAR*)strHello << endl;



und können an dieser Stelle mit unserer eigentlichen Arbeit beginnen.
Falls nicht ausdrücklich darauf hingewiesen wird (MFC-Anwendung),
lassen sich nachfolgende Beispiele mit diese Konstruktion testen.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

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