// steckbrief_schmetterling_neu.cpp: Implementierungsdatei
//

#include "stdafx.h"
#include "Ecopay.h"
#include "steckbrief_schmetterling_neu.h"
#include "art.h"
//#include "datenbank.h"
#include "ergebnis.h"
#include "modell.h"
#include <sstream> 
#include <string>

// steckbrief_schmetterling_neu-Dialogfeld

IMPLEMENT_DYNAMIC(steckbrief_schmetterling_neu, CDialog)

steckbrief_schmetterling_neu::steckbrief_schmetterling_neu(CWnd* pParent /*=NULL*/)
: CDialog(steckbrief_schmetterling_neu::IDD, pParent)
, m_name_deutsch(_T(""))
, m_name_latein(_T(""))
, m_mv17(_T("0"))
, m_mv18(_T("0"))
, m_mv19(_T("0"))
, m_mv20(_T("0"))
, m_mv21(_T("0"))
, m_mv22(_T("0"))
, m_mv23(_T("0"))
, m_mv24(_T("0"))
, m_mv25(_T("0"))
, m_mv26(_T("0"))
, m_mv27(_T("0"))
, m_mv28(_T("0"))
, m_mv29(_T("0"))
, m_mv30(_T("0"))
, m_mv31(_T("0"))
, m_mv32(_T("0"))
, m_mv33(_T("0"))
, m_mv34(_T("0"))
, m_mv35(_T("0"))
, m_mv36(_T("0"))
, m_mv37(_T("0"))
, m_mv38(_T("0"))
, m_krit_rep(_T("0"))
, m_ges_rep(_T("0"))
, m_hoehe_kurz(_T("0"))
, m_hoehe_mittle(_T("0"))
, m_hoehe_hoch(_T("0"))
, m_feuchte_trocken(_T("0"))
, m_feuchte_frisch(_T("0"))
, m_feuchte_feucht(_T("0"))
, m_ausbreitungsradius(_T("0"))
, m_person(_T("Geben Sie bitte Ihren Namen ein!"))
,m_brush(RGB(255,255,240))
{
#ifndef _WIN32_WCE
    EnableActiveAccessibility();
#endif
    // nart = new art();

}

steckbrief_schmetterling_neu::~steckbrief_schmetterling_neu()
{
}

void steckbrief_schmetterling_neu::DoDataExchange( CDataExchange* pDX)
{
    CDialog::DoDataExchange( pDX);
    DDX_Text( pDX, IDC_Name_deutsch, m_name_deutsch);
    DDX_Text( pDX, IDC_Name_latein, m_name_latein);
    DDX_Text( pDX, IDC_M1Mai, m_mv17);
    DDX_Text( pDX, IDC_M2Mai, m_mv18);
    DDX_Text( pDX, IDC_M3Mai, m_mv19);
    DDX_Text( pDX, IDC_M4Mai, m_mv20);
    DDX_Text( pDX, IDC_M1Juni, m_mv21);
    DDX_Text( pDX, IDC_M2Juni, m_mv22);
    DDX_Text( pDX, IDC_M3Juni, m_mv23);
    DDX_Text( pDX, IDC_M4Juni, m_mv24);
    DDX_Text( pDX, IDC_M1Juli, m_mv25);
    DDX_Text( pDX, IDC_M2Juli, m_mv26);
    DDX_Text( pDX, IDC_M3Juli, m_mv27);
    DDX_Text( pDX, IDC_M4Juli, m_mv28);
    DDX_Text( pDX, IDC_M1August, m_mv29);
    DDX_Text( pDX, IDC_M2August, m_mv30);
    DDX_Text( pDX, IDC_M3August, m_mv31);
    DDX_Text( pDX, IDC_M4August, m_mv32);
    DDX_Text( pDX, IDC_M1September, m_mv33);
    DDX_Text( pDX, IDC_M2September, m_mv34);
    DDX_Text( pDX, IDC_M3September, m_mv35);
    DDX_Text( pDX, IDC_M4September, m_mv36);
    DDX_Text( pDX, IDC_M1Oktober, m_mv37);
    DDX_Text( pDX, IDC_M2Oktober, m_mv38);
    DDX_Text( pDX, IDC_KritischeRep, m_krit_rep);
    DDX_Text( pDX, IDC_GesamtRep, m_ges_rep);
    DDX_Text( pDX, IDC_HoeheKurz, m_hoehe_kurz);
    DDX_Text( pDX, IDC_HoeheMittel, m_hoehe_mittle);
    DDX_Text( pDX, IDC_HoeheHoch, m_hoehe_hoch);
    DDX_Text( pDX, IDC_FEUCHTETROCKEN, m_feuchte_trocken);
    DDX_Text( pDX, IDC_FEUCHTEFRISCH, m_feuchte_frisch);
    DDX_Text( pDX, IDC_FEUCHTEFEUCHT, m_feuchte_feucht);
    DDX_Text( pDX, IDC_Aradius, m_ausbreitungsradius);
    DDX_Text( pDX, IDC_Person, m_person);
    DDX_Control( pDX, IDC_S2Anfang, m_s2anfang);
    DDX_Control( pDX, IDC_S2Ende, m_s2ende);
    DDX_Control( pDX, IDC_GRUEN, m_auswahl_gruen);
    DDX_Control( pDX, IDC_LIST_gruen, m_liste_gruen);
}

BEGIN_MESSAGE_MAP(steckbrief_schmetterling_neu, CDialog)
ON_EN_KILLFOCUS(IDC_Name_deutsch, &steckbrief_schmetterling_neu::OnEnKillfocusNamedeutsch)
ON_EN_KILLFOCUS(IDC_Name_latein, &steckbrief_schmetterling_neu::OnEnKillfocusNamelatein)
ON_EN_KILLFOCUS(IDC_M1Mai, &steckbrief_schmetterling_neu::OnEnKillfocusM1mai)
ON_EN_KILLFOCUS(IDC_M2Mai, &steckbrief_schmetterling_neu::OnEnKillfocusM2mai)
ON_EN_KILLFOCUS(IDC_M3Mai, &steckbrief_schmetterling_neu::OnEnKillfocusM3mai)
ON_EN_KILLFOCUS(IDC_M4Mai, &steckbrief_schmetterling_neu::OnEnKillfocusM4mai)
ON_EN_KILLFOCUS(IDC_M1Juni, &steckbrief_schmetterling_neu::OnEnKillfocusM1juni)
ON_EN_KILLFOCUS(IDC_M2Juni, &steckbrief_schmetterling_neu::OnEnKillfocusM2juni)
ON_EN_KILLFOCUS(IDC_M3Juni, &steckbrief_schmetterling_neu::OnEnKillfocusM3juni)
ON_EN_KILLFOCUS(IDC_M4Juni, &steckbrief_schmetterling_neu::OnEnKillfocusM4juni)
ON_EN_KILLFOCUS(IDC_M1Juli, &steckbrief_schmetterling_neu::OnEnKillfocusM1juli)
ON_EN_KILLFOCUS(IDC_M2Juli, &steckbrief_schmetterling_neu::OnEnKillfocusM2juli)
ON_EN_KILLFOCUS(IDC_M3Juli, &steckbrief_schmetterling_neu::OnEnKillfocusM3juli)
ON_EN_KILLFOCUS(IDC_M4Juli, &steckbrief_schmetterling_neu::OnEnKillfocusM4juli)
ON_EN_KILLFOCUS(IDC_M1August, &steckbrief_schmetterling_neu::OnEnKillfocusM1august)
ON_EN_KILLFOCUS(IDC_M2August, &steckbrief_schmetterling_neu::OnEnKillfocusM2august)
ON_EN_KILLFOCUS(IDC_M3August, &steckbrief_schmetterling_neu::OnEnKillfocusM3august)
ON_EN_KILLFOCUS(IDC_M4August, &steckbrief_schmetterling_neu::OnEnKillfocusM4august)
ON_EN_KILLFOCUS(IDC_M1September, &steckbrief_schmetterling_neu::OnEnKillfocusM1september)
ON_EN_KILLFOCUS(IDC_M2September, &steckbrief_schmetterling_neu::OnEnKillfocusM2september)
ON_EN_KILLFOCUS(IDC_M3September, &steckbrief_schmetterling_neu::OnEnKillfocusM3september)
ON_EN_KILLFOCUS(IDC_M4September, &steckbrief_schmetterling_neu::OnEnKillfocusM4september)
ON_EN_KILLFOCUS(IDC_M1Oktober, &steckbrief_schmetterling_neu::OnEnKillfocusM1oktober)
ON_EN_KILLFOCUS(IDC_M2Oktober, &steckbrief_schmetterling_neu::OnEnKillfocusM2oktober)
ON_EN_KILLFOCUS(IDC_KritischeRep, &steckbrief_schmetterling_neu::OnEnKillfocusKritischerep)
ON_EN_KILLFOCUS(IDC_GesamtRep, &steckbrief_schmetterling_neu::OnEnKillfocusGesamtrep)
ON_EN_KILLFOCUS(IDC_Aradius, &steckbrief_schmetterling_neu::OnEnKillfocusAradius)
ON_EN_KILLFOCUS(IDC_Person, &steckbrief_schmetterling_neu::OnEnKillfocusPerson)
ON_EN_KILLFOCUS(IDC_HoeheKurz, &steckbrief_schmetterling_neu::OnEnKillfocusHoehekurz)
ON_EN_KILLFOCUS(IDC_HoeheMittel, &steckbrief_schmetterling_neu::OnEnKillfocusHoehemittel)
ON_EN_KILLFOCUS(IDC_HoeheHoch, &steckbrief_schmetterling_neu::OnEnKillfocusHoehehoch)
ON_EN_KILLFOCUS(IDC_FEUCHTETROCKEN, &steckbrief_schmetterling_neu::OnEnKillfocusFeuchtetrocken)
ON_EN_KILLFOCUS(IDC_FEUCHTEFRISCH, &steckbrief_schmetterling_neu::OnEnKillfocusFeuchtefrisch)
ON_EN_KILLFOCUS(IDC_FEUCHTEFEUCHT, &steckbrief_schmetterling_neu::OnEnKillfocusFeuchtefeucht)
ON_BN_CLICKED(IDOK, &steckbrief_schmetterling_neu::OnBnClickedOk)
ON_BN_CLICKED(IDCANCEL, &steckbrief_schmetterling_neu::OnBnClickedCancel)
ON_BN_CLICKED(IDC_Datenbearbeiten, &steckbrief_schmetterling_neu::OnBnClickedDatenbearbeiten)
ON_BN_CLICKED(IDC_Datena, &steckbrief_schmetterling_neu::OnBnClickedDatena)
ON_LBN_DBLCLK(IDC_S2Anfang, &steckbrief_schmetterling_neu::OnLbnDblclkS2anfang)
ON_LBN_DBLCLK(IDC_S2Ende, &steckbrief_schmetterling_neu::OnLbnDblclkS2ende)
ON_EN_KILLFOCUS(IDC_GesamtRep2, &steckbrief_schmetterling_neu::OnEnKillfocusGesamtrep2)
ON_WM_SIZE()
ON_WM_VSCROLL()
ON_WM_CTLCOLOR()
ON_CBN_SELCHANGE(IDC_GRUEN, &steckbrief_schmetterling_neu::OnCbnSelchangeGruen)
ON_LBN_DBLCLK(IDC_LIST_gruen, &steckbrief_schmetterling_neu::OnLbnDblclkListgruen)
END_MESSAGE_MAP()

BOOL steckbrief_schmetterling_neu::OnInitDialog()
{
    CDialog::OnInitDialog();
    nart = new art();

    getdata();

    m_s2anfang.AddString("1. Monatsviertel April");
    m_s2anfang.AddString("2. Monatsviertel April");
    m_s2anfang.AddString("3. Monatsviertel April");
    m_s2anfang.AddString("4. Monatsviertel April");
    m_s2anfang.AddString("1. Monatsviertel Mai");
    m_s2anfang.AddString("2. Monatsviertel Mai");
    m_s2anfang.AddString("3. Monatsviertel Mai");
    m_s2anfang.AddString("4. Monatsviertel Mai");
    m_s2anfang.AddString("1. Monatsviertel Juni");
    m_s2anfang.AddString("2. Monatsviertel Juni");
    m_s2anfang.AddString("3. Monatsviertel Juni");
    m_s2anfang.AddString("4. Monatsviertel Juni");
    m_s2anfang.AddString("1. Monatsviertel Juli");
    m_s2anfang.AddString("2. Monatsviertel Juli");
    m_s2anfang.AddString("3. Monatsviertel Juli");
    m_s2anfang.AddString("4. Monatsviertel Juli");
    m_s2anfang.AddString("1. Monatsviertel August");
    m_s2anfang.AddString("2. Monatsviertel August");
    m_s2anfang.AddString("3. Monatsviertel August");
    m_s2anfang.AddString("4. Monatsviertel August");
    m_s2anfang.AddString("1. Monatsviertel September");
    m_s2anfang.AddString("2. Monatsviertel September");
    m_s2anfang.AddString("3. Monatsviertel September");
    m_s2anfang.AddString("4. Monatsviertel September");
    m_s2anfang.AddString("1. Monatsviertel Oktober");
    m_s2anfang.AddString("2. Monatsviertel Oktober");

    m_s2ende.AddString("1. Monatsviertel April");
    m_s2ende.AddString("2. Monatsviertel April");
    m_s2ende.AddString("3. Monatsviertel April");
    m_s2ende.AddString("4. Monatsviertel April");
    m_s2ende.AddString("1. Monatsviertel Mai");
    m_s2ende.AddString("2. Monatsviertel Mai");
    m_s2ende.AddString("3. Monatsviertel Mai");
    m_s2ende.AddString("4. Monatsviertel Mai");
    m_s2ende.AddString("1. Monatsviertel Juni");
    m_s2ende.AddString("2. Monatsviertel Juni");
    m_s2ende.AddString("3. Monatsviertel Juni");
    m_s2ende.AddString("4. Monatsviertel Juni");
    m_s2ende.AddString("1. Monatsviertel Juli");
    m_s2ende.AddString("2. Monatsviertel Juli");
    m_s2ende.AddString("3. Monatsviertel Juli");
    m_s2ende.AddString("4. Monatsviertel Juli");
    m_s2ende.AddString("1. Monatsviertel August");
    m_s2ende.AddString("2. Monatsviertel August");
    m_s2ende.AddString("3. Monatsviertel August");
    m_s2ende.AddString("4. Monatsviertel August");
    m_s2ende.AddString("1. Monatsviertel September");
    m_s2ende.AddString("2. Monatsviertel September");
    m_s2ende.AddString("3. Monatsviertel September");
    m_s2ende.AddString("4. Monatsviertel September");
    m_s2ende.AddString("1. Monatsviertel Oktober");
    m_s2ende.AddString("2. Monatsviertel Oktober");

    GetWindowRect(m_rects);
    m_nScrollPoss = 0;

    return TRUE;

}
void steckbrief_schmetterling_neu::getdata()
{
    int anzahl;
    gruen = daten.returngruenland( anzahl);
    vector< gruenland*>::iterator git;

    char ma[ 100];
    int mv;

    stringstream returnstring;
    for( git = gruen.begin(); git != gruen.end(); git++)
    {
        returnstring.str( "");
        returnstring.clear();

        string mager;
        if( (*git)->mager == true)
            mager = "schwachwüchsig";
        else
            mager = "starkwüchsig";
        returnstring << (*git)->name_deutsch << "/" << mager << ", "
                << (*git)->savetime << ", " << (*git)->name_benutzer;
        string result = returnstring.str();
        lstrcpy( ma, result.c_str());

        m_auswahl_gruen.AddString( ma);
    }

}

BOOL steckbrief_schmetterling_neu::PreTranslateMessage( MSG* pMsg)
{
    // TODO: Add your specialized code here and/or call the base class
    if( pMsg->message == WM_KEYDOWN)
    {
        if( pMsg->wParam == VK_RETURN)
            pMsg->wParam = VK_TAB;
    }
    return CDialog::PreTranslateMessage( pMsg);

}

// steckbrief_schmetterling_neu-Meldungshandler

void steckbrief_schmetterling_neu::OnEnKillfocusNamedeutsch()
{

    CString Schmetterling_name;

    GetDlgItem( IDC_Name_deutsch)->GetWindowText( Schmetterling_name);

    nart->set_m_name( Schmetterling_name);
}

void steckbrief_schmetterling_neu::OnEnKillfocusNamelatein()
{

    CString Latein_name;

    GetDlgItem( IDC_Name_latein)->GetWindowText( Latein_name);
    nart->set_m_name_latein( Latein_name);
}

void steckbrief_schmetterling_neu::OnEnKillfocusM1mai()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_17;
        CWnd* pWnd = GetDlgItem( IDC_M1Mai);
        pWnd->GetWindowText( m_17);

        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_17;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }

        double m17 = atof( m_17);

        if( m17 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();

        } else
        {
            m17 = m17 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel17( m17);
        }
    }
}

void steckbrief_schmetterling_neu::OnEnKillfocusM2mai()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_18;
        CWnd* pWnd = GetDlgItem( IDC_M2Mai);
        pWnd->GetWindowText( m_18);

        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_18;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }

        double m18 = atof( m_18);

        if( m18 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();

        } else
        {
            m18 = m18 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel18( m18);
        }
    }
}

void steckbrief_schmetterling_neu::OnEnKillfocusM3mai()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_19;
        CWnd* pWnd = GetDlgItem( IDC_M3Mai);
        pWnd->GetWindowText( m_19);

        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_19;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }

        double m19 = atof( m_19);

        if( m19 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();

        } else
        {
            m19 = m19 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel19( m19);
        }
    }
}

void steckbrief_schmetterling_neu::OnEnKillfocusM4mai()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_20;
        CWnd* pWnd = GetDlgItem( IDC_M4Mai);
        pWnd->GetWindowText( m_20);

        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_20;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }

        double m20 = atof( m_20);

        if( m20 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();

        } else
        {
            m20 = m20 / 100.0; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel20( m20);
        }
    }
}

void steckbrief_schmetterling_neu::OnEnKillfocusM1juni()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_21;
        CWnd* pWnd = GetDlgItem( IDC_M1Juni);
        pWnd->GetWindowText( m_21);

        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_21;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }

        double m21 = atof( m_21);

        if( m21 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();

        } else
        {
            m21 = m21 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel21( m21);
        }
    }
}

void steckbrief_schmetterling_neu::OnEnKillfocusM2juni()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_22;
        CWnd* pWnd = GetDlgItem( IDC_M2Juni);
        pWnd->GetWindowText( m_22);

        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_22;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }

        double m22 = atof( m_22);

        if( m22 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();

        } else
        {
            m22 = m22 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel22( m22);
        }
    }
}

void steckbrief_schmetterling_neu::OnEnKillfocusM3juni()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_23;
        CWnd* pWnd = GetDlgItem( IDC_M3Juni);
        pWnd->GetWindowText( m_23);

        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_23;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }

        double m23 = atof( m_23);

        if( m23 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();

        } else
        {
            m23 = m23 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel23( m23);
        }
    }
}

void steckbrief_schmetterling_neu::OnEnKillfocusM4juni()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_24;
        CWnd* pWnd = GetDlgItem( IDC_M4Juni);
        pWnd->GetWindowText( m_24);

        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_24;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }

        double m24 = atof( m_24);

        if( m24 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();

        } else
        {
            m24 = m24 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel24( m24);
        }
    }
}

void steckbrief_schmetterling_neu::OnEnKillfocusM1juli()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_25;
        CWnd* pWnd = GetDlgItem( IDC_M1Juli);
        pWnd->GetWindowText( m_25);

        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_25;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }

        double m25 = atof( m_25);

        if( m25 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();

        } else
        {
            m25 = m25 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel25( m25);
        }
    }
}

void steckbrief_schmetterling_neu::OnEnKillfocusM2juli()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_26;
        CWnd* pWnd = GetDlgItem( IDC_M2Juli);
        pWnd->GetWindowText( m_26);

        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_26;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }

        double m26 = atof( m_26);

        if( m26 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();

        } else
        {
            m26 = m26 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel26( m26);
        }
    }
}

void steckbrief_schmetterling_neu::OnEnKillfocusM3juli()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_27;
        CWnd* pWnd = GetDlgItem( IDC_M3Juli);
        pWnd->GetWindowText( m_27);

        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_27;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }

        double m27 = atof( m_27);

        if( m27 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();

        } else
        {
            m27 = m27 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel27( m27);
        }
    }
}

void steckbrief_schmetterling_neu::OnEnKillfocusM4juli()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_28;
        CWnd* pWnd = GetDlgItem( IDC_M4Juli);
        pWnd->GetWindowText( m_28);

        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_28;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }

        double m28 = atof( m_28);

        if( m28 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();

        } else
        {
            m28 = m28 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel28( m28);
        }
    }
}

void steckbrief_schmetterling_neu::OnEnKillfocusM1august()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_29;
        CWnd* pWnd = GetDlgItem( IDC_M1August);
        pWnd->GetWindowText( m_29);

        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_29;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }

        double m29 = atof( m_29);

        if( m29 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();

        } else
        {
            m29 = m29 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel29( m29);
        }
    }
}

void steckbrief_schmetterling_neu::OnEnKillfocusM2august()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_30;
        CWnd* pWnd = GetDlgItem( IDC_M2August);
        pWnd->GetWindowText( m_30);

        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_30;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }

        double m30 = atof( m_30);

        if( m30 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();

        } else
        {
            m30 = m30 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel30( m30);
        }
    }
}

void steckbrief_schmetterling_neu::OnEnKillfocusM3august()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_31;
        CWnd* pWnd = GetDlgItem( IDC_M3August);
        pWnd->GetWindowText( m_31);

        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_31;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }

        double m31 = atof( m_31);

        if( m31 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();

        } else
        {
            m31 = m31 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel31( m31);
        }
    }
}

void steckbrief_schmetterling_neu::OnEnKillfocusM4august()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_32;
        CWnd* pWnd = GetDlgItem( IDC_M4August);
        pWnd->GetWindowText( m_32);

        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_32;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }

        double m32 = atof( m_32);

        if( m32 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();

        } else
        {
            m32 = m32 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel32( m32);
        }
    }
}

void steckbrief_schmetterling_neu::OnEnKillfocusM1september()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_33;
        CWnd* pWnd = GetDlgItem( IDC_M1September);
        pWnd->GetWindowText( m_33);

        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_33;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }

        double m33 = atof( m_33);

        if( m33 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();

        } else
        {
            m33 = m33 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel33( m33);
        }
    }
}

void steckbrief_schmetterling_neu::OnEnKillfocusM2september()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_34;
        CWnd* pWnd = GetDlgItem( IDC_M2September);
        pWnd->GetWindowText( m_34);

        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_34;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }

        double m34 = atof( m_34);

        if( m34 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();

        } else
        {
            m34 = m34 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel34( m34);
        }
    }
}

void steckbrief_schmetterling_neu::OnEnKillfocusM3september()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_35;
        CWnd* pWnd = GetDlgItem( IDC_M3September);
        pWnd->GetWindowText( m_35);

        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_35;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }

        double m35 = atof( m_35);

        if( m35 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();

        } else
        {
            m35 = m35 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel35( m35);
        }
    }
}

void steckbrief_schmetterling_neu::OnEnKillfocusM4september()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_36;
        CWnd* pWnd = GetDlgItem( IDC_M4September);
        pWnd->GetWindowText( m_36);

        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_36;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }

        double m36 = atof( m_36);

        if( m36 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();

        } else
        {
            m36 = m36 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel36( m36);
        }
    }
}

void steckbrief_schmetterling_neu::OnEnKillfocusM1oktober()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_37;
        CWnd* pWnd = GetDlgItem( IDC_M1Oktober);
        pWnd->GetWindowText( m_37);

        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_37;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }

        double m37 = atof( m_37);

        if( m37 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();

        } else
        {
            m37 = m37 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel37( m37);
        }
    }
}

void steckbrief_schmetterling_neu::OnEnKillfocusM2oktober()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_38;
        CWnd* pWnd = GetDlgItem( IDC_M2Oktober);
        pWnd->GetWindowText( m_38);

        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_38;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }

        double m38 = atof( m_38);

        if( m38 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();

        } else
        {
            m38 = m38 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel38( m38);
        }
    }
}

void steckbrief_schmetterling_neu::OnEnKillfocusKritischerep()
{

    CString kritreproduktion;
    GetDlgItem( IDC_KritischeRep)->GetWindowText( kritreproduktion);
    int krep = atoi( kritreproduktion);
    nart->set_reproduktion_kritisch( krep);

}

void steckbrief_schmetterling_neu::OnEnKillfocusGesamtrep()
{

    CString reproduktion;
    GetDlgItem( IDC_GesamtRep)->GetWindowText( reproduktion);
    int rep = atoi( reproduktion);
    nart->set_reproduktion_gesammt( rep);
}

void steckbrief_schmetterling_neu::OnEnKillfocusAradius()
{

    CString ausbreitungradius;
    GetDlgItem( IDC_Aradius)->GetWindowText( ausbreitungradius);
    double aradius = atof( ausbreitungradius);
    nart->set_ausbreitungsradius( aradius);
}

void steckbrief_schmetterling_neu::OnEnKillfocusPerson()
{

    CString Person_name;

    GetDlgItem( IDC_Person)->GetWindowText( Person_name);

    nart->set_person_name( Person_name);
}

void steckbrief_schmetterling_neu::OnEnKillfocusHoehekurz()
{

    CString hoehekurz;
    GetDlgItem( IDC_HoeheKurz)->GetWindowText( hoehekurz);
    double kurz = atof( hoehekurz);
    nart->set_hoehe_kurz( kurz);
}

void steckbrief_schmetterling_neu::OnEnKillfocusHoehemittel()
{

    CString hoehemittel;
    GetDlgItem( IDC_HoeheMittel)->GetWindowText( hoehemittel);
    double mittel = atof( hoehemittel);
    nart->set_hoehe_mittel( mittel);
}

void steckbrief_schmetterling_neu::OnEnKillfocusHoehehoch()
{

    CString hoehehoch;
    GetDlgItem( IDC_HoeheHoch)->GetWindowText( hoehehoch);
    double hoch = atof( hoehehoch);
    nart->set_hoehe_hoch( hoch);
}

void steckbrief_schmetterling_neu::OnEnKillfocusFeuchtetrocken()
{

    CString feuchtetrocken;
    GetDlgItem( IDC_FEUCHTETROCKEN)->GetWindowText( feuchtetrocken);
    double trocken = atof( feuchtetrocken);
    nart->set_feuchte_trocken( trocken);

}

void steckbrief_schmetterling_neu::OnEnKillfocusFeuchtefrisch()
{

    CString feuchtefrisch;
    GetDlgItem( IDC_FEUCHTEFRISCH)->GetWindowText( feuchtefrisch);
    double frisch = atof( feuchtefrisch);
    nart->set_feuchte_frisch( frisch);
}

void steckbrief_schmetterling_neu::OnEnKillfocusFeuchtefeucht()
{

    CString feuchtef;
    GetDlgItem( IDC_FEUCHTEFEUCHT)->GetWindowText( feuchtef);
    double feucht = atof( feuchtef);
    nart->set_feuchte_feucht( feucht);
}

void steckbrief_schmetterling_neu::OnBnClickedOk()
{

    int Response;

    //Validierung der Daten und noch einmaliges einlesen der Daten

    CString Schmetterling_name;

    GetDlgItem( IDC_Name_deutsch)->GetWindowText( Schmetterling_name);

    nart->set_m_name( Schmetterling_name);

    CString Latein_name;

    GetDlgItem( IDC_Name_latein)->GetWindowText( Latein_name);
    nart->set_m_name_latein( Latein_name);

    CString m_17;
    CWnd* pWnd = GetDlgItem( IDC_M1Mai);
    pWnd->GetWindowText( m_17);
    double m17 = atof( m_17);
    m17 = m17 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel17( m17);

    CString m_18;
    pWnd = GetDlgItem( IDC_M2Mai);
    pWnd->GetWindowText( m_18);
    double m18 = atof( m_18);
    m18 = m18 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel18( m18);

    CString m_19;
    pWnd = GetDlgItem( IDC_M3Mai);
    pWnd->GetWindowText( m_19);
    double m19 = atof( m_19);
    m19 = m19 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel19( m19);

    CString m_20;
    pWnd = GetDlgItem( IDC_M4Mai);
    pWnd->GetWindowText( m_20);
    double m20 = atof( m_20);
    m20 = m20 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel20( m20);

    CString m_21;
    pWnd = GetDlgItem( IDC_M1Juni);
    pWnd->GetWindowText( m_21);
    double m21 = atof( m_21);
    m21 = m21 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel21( m21);

    CString m_22;
    pWnd = GetDlgItem( IDC_M2Juni);
    pWnd->GetWindowText( m_22);
    double m22 = atof( m_22);
    m22 = m22 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel22( m22);

    CString m_23;
    pWnd = GetDlgItem( IDC_M3Juni);
    pWnd->GetWindowText( m_23);
    double m23 = atof( m_23);
    m23 = m23 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel23( m23);

    CString m_24;
    pWnd = GetDlgItem( IDC_M4Juni);
    pWnd->GetWindowText( m_24);
    double m24 = atof( m_24);
    m24 = m24 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel24( m24);

    CString m_25;
    pWnd = GetDlgItem( IDC_M1Juli);
    pWnd->GetWindowText( m_25);
    double m25 = atof( m_25);
    m25 = m25 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel25( m25);

    CString m_26;
    pWnd = GetDlgItem( IDC_M2Juli);
    pWnd->GetWindowText( m_26);
    double m26 = atof( m_26);
    m26 = m26 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel26( m26);

    CString m_27;
    pWnd = GetDlgItem( IDC_M3Juli);
    pWnd->GetWindowText( m_27);
    double m27 = atof( m_27);
    m27 = m27 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel27( m27);

    CString m_28;
    pWnd = GetDlgItem( IDC_M4Juli);
    pWnd->GetWindowText( m_28);
    double m28 = atof( m_28);
    m28 = m28 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel28( m28);

    CString m_29;
    pWnd = GetDlgItem( IDC_M1August);
    pWnd->GetWindowText( m_29);
    double m29 = atof( m_29);
    m29 = m29 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel29( m29);

    CString m_30;
    pWnd = GetDlgItem( IDC_M2August);
    pWnd->GetWindowText( m_30);
    double m30 = atof( m_30);
    m30 = m30 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel30( m30);

    CString m_31;
    pWnd = GetDlgItem( IDC_M3August);
    pWnd->GetWindowText( m_31);
    double m31 = atof( m_31);
    m31 = m31 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel31( m31);

    CString m_32;
    pWnd = GetDlgItem( IDC_M4August);
    pWnd->GetWindowText( m_32);
    double m32 = atof( m_32);
    m32 = m32 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel32( m32);

    CString m_33;
    pWnd = GetDlgItem( IDC_M1September);
    pWnd->GetWindowText( m_33);
    double m33 = atof( m_33);
    m33 = m33 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel33( m33);

    CString m_34;
    pWnd = GetDlgItem( IDC_M2September);
    pWnd->GetWindowText( m_34);
    double m34 = atof( m_34);
    m34 = m34 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel34( m34);

    CString m_35;
    pWnd = GetDlgItem( IDC_M3September);
    pWnd->GetWindowText( m_35);
    double m35 = atof( m_35);
    m35 = m35 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel35( m35);

    CString m_36;
    pWnd = GetDlgItem( IDC_M4September);
    pWnd->GetWindowText( m_36);
    double m36 = atof( m_36);
    m36 = m36 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel36( m36);

    CString m_37;
    pWnd = GetDlgItem( IDC_M1Oktober);
    pWnd->GetWindowText( m_37);
    double m37 = atof( m_37);
    m37 = m37 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel37( m37);

    CString m_38;
    pWnd = GetDlgItem( IDC_M2Oktober);
    pWnd->GetWindowText( m_38);
    double m38 = atof( m_38);
    m38 = m38 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel38( m38);

    CString kritreproduktion;
    GetDlgItem( IDC_KritischeRep)->GetWindowText( kritreproduktion);
    int krep = atoi( kritreproduktion);
    nart->set_reproduktion_kritisch( krep);

    CString reproduktion;
    GetDlgItem( IDC_GesamtRep)->GetWindowText( reproduktion);
    int rep = atoi( reproduktion);
    nart->set_reproduktion_gesammt( rep);

    CString ausbreitungradius;
    GetDlgItem( IDC_Aradius)->GetWindowText( ausbreitungradius);
    double aradius = atof( ausbreitungradius);
    nart->set_ausbreitungsradius( aradius);

    CString Person_name;
    GetDlgItem( IDC_Person)->GetWindowText( Person_name);
    nart->set_person_name( Person_name);

    CString hoehekurz;
    GetDlgItem( IDC_HoeheKurz)->GetWindowText( hoehekurz);
    double kurz = atof( hoehekurz);
    nart->set_hoehe_kurz( kurz);

    CString hoehemittel;
    GetDlgItem( IDC_HoeheMittel)->GetWindowText( hoehemittel);
    double mittel = atof( hoehemittel);
    nart->set_hoehe_mittel( mittel);

    CString hoehehoch;
    GetDlgItem( IDC_HoeheHoch)->GetWindowText( hoehehoch);
    double hoch = atof( hoehehoch);
    nart->set_hoehe_hoch( hoch);

    CString feuchtetrocken;
    GetDlgItem( IDC_FEUCHTETROCKEN)->GetWindowText( feuchtetrocken);
    double trocken = atof( feuchtetrocken);
    nart->set_feuchte_trocken( trocken);

    CString feuchtefrisch;
    GetDlgItem( IDC_FEUCHTEFRISCH)->GetWindowText( feuchtefrisch);
    double frisch = atof( feuchtefrisch);
    nart->set_feuchte_frisch( frisch);

    CString feuchtef;
    GetDlgItem( IDC_FEUCHTEFEUCHT)->GetWindowText( feuchtef);
    double feucht = atof( feuchtef);
    nart->set_feuchte_feucht( feucht);

    CString auswahl;
    int nIndex = m_s2anfang.GetCurSel();
    if( nIndex != CB_ERR)

    {
        m_s2anfang.GetText( nIndex, auswahl);

    }

    if( auswahl == "1. Monatsviertel April")
    {
        nart->set_zweitegeneration( 13);
        return;
    }
    if( auswahl == "2. Monatsviertel April")
    {
        nart->set_zweitegeneration( 14);
        return;
    }
    if( auswahl == "3. Monatsviertel April")
    {
        nart->set_zweitegeneration( 15);
        return;
    }
    if( auswahl == "4. Monatsviertel April")
    {
        nart->set_zweitegeneration( 16);
        return;
    }
    if( auswahl == "1. Monatsviertel Mai")
    {
        nart->set_zweitegeneration( 17);
        return;
    }
    if( auswahl == "2. Monatsviertel Mai")
    {
        nart->set_zweitegeneration( 18);
        return;
    }
    if( auswahl == "3. Monatsviertel Mai")
    {
        nart->set_zweitegeneration( 19);
        return;
    }
    if( auswahl == "4. Monatsviertel Mai")
    {
        nart->set_zweitegeneration( 20);
        return;
    }
    if( auswahl == "1. Monatsviertel Juni")
    {
        nart->set_zweitegeneration( 21);
        return;
    }
    if( auswahl == "2. Monatsviertel Juni")
    {
        nart->set_zweitegeneration( 22);
        return;
    }
    if( auswahl == "3. Monatsviertel Juni")
    {
        nart->set_zweitegeneration( 23);
        return;
    }
    if( auswahl == "4. Monatsviertel Juni")
    {
        nart->set_zweitegeneration( 24);
        return;
    }
    if( auswahl == "1. Monatsviertel Juli")
    {
        nart->set_zweitegeneration( 25);
        return;
    }
    if( auswahl == "2. Monatsviertel Juli")
    {
        nart->set_zweitegeneration( 26);
        return;
    }
    if( auswahl == "3. Monatsviertel Juli")
    {
        nart->set_zweitegeneration( 27);
        return;
    }
    if( auswahl == "4. Monatsviertel Juli")
    {
        nart->set_zweitegeneration( 28);
        return;
    }
    if( auswahl == "1. Monatsviertel August")
    {
        nart->set_zweitegeneration( 29);
        return;
    }
    if( auswahl == "2. Monatsviertel August")
    {
        nart->set_zweitegeneration( 30);
        return;
    }
    if( auswahl == "3. Monatsviertel August")
    {
        nart->set_zweitegeneration( 31);
        return;
    }
    if( auswahl == "4. Monatsviertel August")
    {
        nart->set_zweitegeneration( 32);
        return;
    }
    if( auswahl == "1. Monatsviertel September")
    {
        nart->set_zweitegeneration( 33);
        return;
    }
    if( auswahl == "2. Monatsviertel September")
    {
        nart->set_zweitegeneration( 34);
        return;
    }
    if( auswahl == "3. Monatsviertel September")
    {
        nart->set_zweitegeneration( 35);
        return;
    }
    if( auswahl == "4. Monatsviertel September")
    {
        nart->set_zweitegeneration( 36);
        return;
    }
    if( auswahl == "1. Monatsviertel Oktober")
    {
        nart->set_zweitegeneration( 37);
        return;
    }
    if( auswahl == "2. Monatsviertel Oktober")
    {
        nart->set_zweitegeneration( 38);
        return;
    }

    nIndex = m_s2ende.GetCurSel();
    if( nIndex != CB_ERR)

    {
        m_s2ende.GetText( nIndex, auswahl);

    }

    if( auswahl == "1. Monatsviertel April")
    {
        nart->set_zweitegeneration_ende( 13);
        return;
    }
    if( auswahl == "2. Monatsviertel April")
    {
        nart->set_zweitegeneration_ende( 14);
        return;
    }
    if( auswahl == "3. Monatsviertel April")
    {
        nart->set_zweitegeneration_ende( 15);
        return;
    }
    if( auswahl == "4. Monatsviertel April")
    {
        nart->set_zweitegeneration_ende( 16);
        return;
    }
    if( auswahl == "1. Monatsviertel Mai")
    {
        nart->set_zweitegeneration_ende( 17);
        return;
    }
    if( auswahl == "2. Monatsviertel Mai")
    {
        nart->set_zweitegeneration_ende( 18);
        return;
    }
    if( auswahl == "3. Monatsviertel Mai")
    {
        nart->set_zweitegeneration_ende( 19);
        return;
    }
    if( auswahl == "4. Monatsviertel Mai")
    {
        nart->set_zweitegeneration_ende( 20);
        return;
    }
    if( auswahl == "1. Monatsviertel Juni")
    {
        nart->set_zweitegeneration_ende( 21);
        return;
    }
    if( auswahl == "2. Monatsviertel Juni")
    {
        nart->set_zweitegeneration_ende( 22);
        return;
    }
    if( auswahl == "3. Monatsviertel Juni")
    {
        nart->set_zweitegeneration_ende( 23);
        return;
    }
    if( auswahl == "4. Monatsviertel Juni")
    {
        nart->set_zweitegeneration_ende( 24);
        return;
    }
    if( auswahl == "1. Monatsviertel Juli")
    {
        nart->set_zweitegeneration_ende( 25);
        return;
    }
    if( auswahl == "2. Monatsviertel Juli")
    {
        nart->set_zweitegeneration_ende( 26);
        return;
    }
    if( auswahl == "3. Monatsviertel Juli")
    {
        nart->set_zweitegeneration_ende( 27);
        return;
    }
    if( auswahl == "4. Monatsviertel Juli")
    {
        nart->set_zweitegeneration_ende( 28);
        return;
    }
    if( auswahl == "1. Monatsviertel August")
    {
        nart->set_zweitegeneration_ende( 29);
        return;
    }
    if( auswahl == "2. Monatsviertel August")
    {
        nart->set_zweitegeneration_ende( 30);
        return;
    }
    if( auswahl == "3. Monatsviertel August")
    {
        nart->set_zweitegeneration_ende( 31);
        return;
    }
    if( auswahl == "4. Monatsviertel August")
    {
        nart->set_zweitegeneration_ende( 32);
        return;
    }
    if( auswahl == "1. Monatsviertel September")
    {
        nart->set_zweitegeneration_ende( 33);
        return;
    }
    if( auswahl == "2. Monatsviertel September")
    {
        nart->set_zweitegeneration_ende( 34);
        return;
    }
    if( auswahl == "3. Monatsviertel September")
    {
        nart->set_zweitegeneration_ende( 35);
        return;
    }
    if( auswahl == "4. Monatsviertel September")
    {
        nart->set_zweitegeneration_ende( 36);
        return;
    }
    if( auswahl == "1. Monatsviertel Oktober")
    {
        nart->set_zweitegeneration_ende( 37);
        return;
    }
    if( auswahl == "2. Monatsviertel Oktober")
    {
        nart->set_zweitegeneration_ende( 38);
        return;
    }

    CString reproduktion2;
    GetDlgItem( IDC_GesamtRep2)->GetWindowText( reproduktion2);
    int rep2 = atoi( reproduktion2);
    nart->set_reproduktion_gesammt2( rep2);

    CString Name;
    //GetDlgItem(IDC_Person)->GetWindowText(Person_name);
    Name = nart->get_m_name();
    if( Name == "")
    {
        AfxMessageBox( "Geben Sie bitte den Namen der Art ein!"
                "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
        GetDlgItem( IDC_Name_deutsch)->SetFocus();
        return;
    }

    double sum_eiablage = nart->get_monatsviertel( 17)
            + nart->get_monatsviertel( 18) + nart->get_monatsviertel( 19)
            + nart->get_monatsviertel( 20) + nart->get_monatsviertel( 21)
            + nart->get_monatsviertel( 22) + nart->get_monatsviertel( 23)
            + nart->get_monatsviertel( 24) + nart->get_monatsviertel( 25)
            + nart->get_monatsviertel( 26) + nart->get_monatsviertel( 27)
            + nart->get_monatsviertel( 28) + nart->get_monatsviertel( 29)
            + nart->get_monatsviertel( 30) + nart->get_monatsviertel( 31)
            + nart->get_monatsviertel( 32) + nart->get_monatsviertel( 33)
            + nart->get_monatsviertel( 34) + nart->get_monatsviertel( 35)
            + nart->get_monatsviertel( 36) + nart->get_monatsviertel( 37)
            + nart->get_monatsviertel( 38);

    if( sum_eiablage != 1)
    {
        AfxMessageBox(
                "Die Summe der Wahrscheinlichkeiten der Eiablage muss 100 ergeben!"
                        "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
        GetDlgItem( IDC_M1Mai)->SetFocus();
        return;
    }

    Name = nart->get_person_name();
    if( (Name == "Geben Sie bitte Ihren Namen ein!") || (Name == ""))
    {
        AfxMessageBox( "Geben Sie bitte Ihren Namen ein!"
                "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
        GetDlgItem( IDC_Person)->SetFocus();
        return;
    }
    if( nart->gruen.size() == 0)
    {
        AfxMessageBox( "Geben Sie wählen Sie die Grünlandtypen für die Art aus!"
                "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
        return;
    }

    Response =
            MessageBox(
                    "Bitte überprüfen Sie noch einmal Ihre Eingabe."
                            "\n\nWenn Sie OK klicken, wird der Steckbrief in die Datenbank übernommen."
                            "\n\nWenn Sie die Daten noch einmal überarbeiten wollen,"
                            " klicken Sie bitte auf 'Cancel'.",
                    "Eingabe überprüfen", MB_OKCANCEL | MB_ICONASTERISK);

    if( Response == IDOK)
    {
        //Übertragen der Daten in die Datenbank

        bool gespeichert;
        nart->set_gruppe( "Schmetterling");
        gespeichert = nart->save_art_in_database( *nart);

        delete nart;
        OnOK();
    } else
    {

        SetFocus();

    }

}

void steckbrief_schmetterling_neu::OnBnClickedCancel()
{


    OnCancel();
    delete nart;
}

void steckbrief_schmetterling_neu::OnBnClickedDatenbearbeiten()
{

    GetDlgItem( IDC_Datenbearbeiten)->ShowWindow( false);
    GetDlgItem( IDC_Datena)->ShowWindow( false);
    GetDlgItem( IDOK)->ShowWindow( true);
    GetDlgItem( IDCANCEL)->ShowWindow( true);
    m_auswahl_gruen.EnableWindow( true);
    GetDlgItem( IDC_Person)->SetWindowText( "");
    m_liste_gruen.ResetContent();
    m_s2anfang.EnableWindow( true);
    m_s2ende.EnableWindow( true);
    nart->gruen.clear();
    nart->gruenlandID.clear();

}

void steckbrief_schmetterling_neu::OnBnClickedDatena()
{

    modell mod;
    ergebnis* er;
    er = new ergebnis;
    //AfxMessageBox("Rufe jetzt das Modell auf",MB_YESNO,0);
    //er = mod.create_oekologiemodell(nart);

}

void steckbrief_schmetterling_neu::OnLbnDblclkS2anfang()
{

    CString auswahl;
    int nIndex = m_s2anfang.GetCurSel();
    if( nIndex != CB_ERR)

    {
        m_s2anfang.GetText( nIndex, auswahl);

    }

    if( auswahl == "1. Monatsviertel April")
    {
        nart->set_zweitegeneration( 13);
        return;
    }
    if( auswahl == "2. Monatsviertel April")
    {
        nart->set_zweitegeneration( 14);
        return;
    }
    if( auswahl == "3. Monatsviertel April")
    {
        nart->set_zweitegeneration( 15);
        return;
    }
    if( auswahl == "4. Monatsviertel April")
    {
        nart->set_zweitegeneration( 16);
        return;
    }
    if( auswahl == "1. Monatsviertel Mai")
    {
        nart->set_zweitegeneration( 17);
        return;
    }
    if( auswahl == "2. Monatsviertel Mai")
    {
        nart->set_zweitegeneration( 18);
        return;
    }
    if( auswahl == "3. Monatsviertel Mai")
    {
        nart->set_zweitegeneration( 19);
        return;
    }
    if( auswahl == "4. Monatsviertel Mai")
    {
        nart->set_zweitegeneration( 20);
        return;
    }
    if( auswahl == "1. Monatsviertel Juni")
    {
        nart->set_zweitegeneration( 21);
        return;
    }
    if( auswahl == "2. Monatsviertel Juni")
    {
        nart->set_zweitegeneration( 22);
        return;
    }
    if( auswahl == "3. Monatsviertel Juni")
    {
        nart->set_zweitegeneration( 23);
        return;
    }
    if( auswahl == "4. Monatsviertel Juni")
    {
        nart->set_zweitegeneration( 24);
        return;
    }
    if( auswahl == "1. Monatsviertel Juli")
    {
        nart->set_zweitegeneration( 25);
        return;
    }
    if( auswahl == "2. Monatsviertel Juli")
    {
        nart->set_zweitegeneration( 26);
        return;
    }
    if( auswahl == "3. Monatsviertel Juli")
    {
        nart->set_zweitegeneration( 27);
        return;
    }
    if( auswahl == "4. Monatsviertel Juli")
    {
        nart->set_zweitegeneration( 28);
        return;
    }
    if( auswahl == "1. Monatsviertel August")
    {
        nart->set_zweitegeneration( 29);
        return;
    }
    if( auswahl == "2. Monatsviertel August")
    {
        nart->set_zweitegeneration( 30);
        return;
    }
    if( auswahl == "3. Monatsviertel August")
    {
        nart->set_zweitegeneration( 31);
        return;
    }
    if( auswahl == "4. Monatsviertel August")
    {
        nart->set_zweitegeneration( 32);
        return;
    }
    if( auswahl == "1. Monatsviertel September")
    {
        nart->set_zweitegeneration( 33);
        return;
    }
    if( auswahl == "2. Monatsviertel September")
    {
        nart->set_zweitegeneration( 34);
        return;
    }
    if( auswahl == "3. Monatsviertel September")
    {
        nart->set_zweitegeneration( 35);
        return;
    }
    if( auswahl == "4. Monatsviertel September")
    {
        nart->set_zweitegeneration( 36);
        return;
    }
    if( auswahl == "1. Monatsviertel Oktober")
    {
        nart->set_zweitegeneration( 37);
        return;
    }
    if( auswahl == "2. Monatsviertel Oktober")
    {
        nart->set_zweitegeneration( 38);
        return;
    }

}
void steckbrief_schmetterling_neu::OnLbnDblclkS2ende()
{

    CString auswahl;
    int nIndex = m_s2ende.GetCurSel();
    if( nIndex != CB_ERR)

    {
        m_s2ende.GetText( nIndex, auswahl);

    }

    if( auswahl == "1. Monatsviertel April")
    {
        nart->set_zweitegeneration_ende( 13);
        return;
    }
    if( auswahl == "2. Monatsviertel April")
    {
        nart->set_zweitegeneration_ende( 14);
        return;
    }
    if( auswahl == "3. Monatsviertel April")
    {
        nart->set_zweitegeneration_ende( 15);
        return;
    }
    if( auswahl == "4. Monatsviertel April")
    {
        nart->set_zweitegeneration_ende( 16);
        return;
    }
    if( auswahl == "1. Monatsviertel Mai")
    {
        nart->set_zweitegeneration_ende( 17);
        return;
    }
    if( auswahl == "2. Monatsviertel Mai")
    {
        nart->set_zweitegeneration_ende( 18);
        return;
    }
    if( auswahl == "3. Monatsviertel Mai")
    {
        nart->set_zweitegeneration_ende( 19);
        return;
    }
    if( auswahl == "4. Monatsviertel Mai")
    {
        nart->set_zweitegeneration_ende( 20);
        return;
    }
    if( auswahl == "1. Monatsviertel Juni")
    {
        nart->set_zweitegeneration_ende( 21);
        return;
    }
    if( auswahl == "2. Monatsviertel Juni")
    {
        nart->set_zweitegeneration_ende( 22);
        return;
    }
    if( auswahl == "3. Monatsviertel Juni")
    {
        nart->set_zweitegeneration_ende( 23);
        return;
    }
    if( auswahl == "4. Monatsviertel Juni")
    {
        nart->set_zweitegeneration_ende( 24);
        return;
    }
    if( auswahl == "1. Monatsviertel Juli")
    {
        nart->set_zweitegeneration_ende( 25);
        return;
    }
    if( auswahl == "2. Monatsviertel Juli")
    {
        nart->set_zweitegeneration_ende( 26);
        return;
    }
    if( auswahl == "3. Monatsviertel Juli")
    {
        nart->set_zweitegeneration_ende( 27);
        return;
    }
    if( auswahl == "4. Monatsviertel Juli")
    {
        nart->set_zweitegeneration_ende( 28);
        return;
    }
    if( auswahl == "1. Monatsviertel August")
    {
        nart->set_zweitegeneration_ende( 29);
        return;
    }
    if( auswahl == "2. Monatsviertel August")
    {
        nart->set_zweitegeneration_ende( 30);
        return;
    }
    if( auswahl == "3. Monatsviertel August")
    {
        nart->set_zweitegeneration_ende( 31);
        return;
    }
    if( auswahl == "4. Monatsviertel August")
    {
        nart->set_zweitegeneration_ende( 32);
        return;
    }
    if( auswahl == "1. Monatsviertel September")
    {
        nart->set_zweitegeneration_ende( 33);
        return;
    }
    if( auswahl == "2. Monatsviertel September")
    {
        nart->set_zweitegeneration_ende( 34);
        return;
    }
    if( auswahl == "3. Monatsviertel September")
    {
        nart->set_zweitegeneration_ende( 35);
        return;
    }
    if( auswahl == "4. Monatsviertel September")
    {
        nart->set_zweitegeneration_ende( 36);
        return;
    }
    if( auswahl == "1. Monatsviertel Oktober")
    {
        nart->set_zweitegeneration_ende( 37);
        return;
    }
    if( auswahl == "2. Monatsviertel Oktober")
    {
        nart->set_zweitegeneration_ende( 38);
        return;
    }

}

void steckbrief_schmetterling_neu::OnEnKillfocusGesamtrep2()
{

    CString reproduktion2;
    GetDlgItem( IDC_GesamtRep2)->GetWindowText( reproduktion2);
    int rep2 = atoi( reproduktion2);
    nart->set_reproduktion_gesammt2( rep2);
}

void steckbrief_schmetterling_neu::OnSize( UINT nType, int cx, int cy)
{
    CDialog::OnSize( nType, cx, cy);

    // TODO: Fügen Sie hier Ihren Meldungsbehandlungscode ein.
    m_nCurHeights = cy;
    int nScrollMax;
    if( cy < m_rects.Height())
    {
        nScrollMax = m_rects.Height() - cy;
    } else
        nScrollMax = 0;

    SCROLLINFO si;
    si.cbSize = sizeof(SCROLLINFO);
    si.fMask = SIF_ALL; // SIF_ALL = SIF_PAGE | SIF_RANGE | SIF_POS;
    si.nMin = 0;
    si.nMax = nScrollMax;
    si.nPage = si.nMax / 10;
    si.nPos = 0;
    SetScrollInfo( SB_VERT, &si, TRUE);
}

void steckbrief_schmetterling_neu::OnVScroll(
        UINT nSBCode,
        UINT nPos,
        CScrollBar* pScrollBar)
{
    // TODO: Fügen Sie hier Ihren Meldungsbehandlungscode ein, und/oder benutzen Sie den Standard.
    int nDelta;
    int nMaxPos = m_rects.Height() - m_nCurHeights;

    switch( nSBCode)
    {
        case SB_LINEDOWN:
            if( m_nScrollPoss >= nMaxPos)
                return;
            nDelta = min( nMaxPos / 100, nMaxPos - m_nScrollPoss);
            break;

        case SB_LINEUP:
            if( m_nScrollPoss <= 0)
                return;
            nDelta = -min( nMaxPos / 100, m_nScrollPoss);
            break;

        case SB_PAGEDOWN:
            if( m_nScrollPoss >= nMaxPos)
                return;
            nDelta = min( nMaxPos / 10, nMaxPos - m_nScrollPoss);
            break;

        case SB_THUMBPOSITION:
            nDelta = (int) nPos - m_nScrollPoss;
            break;

        case SB_PAGEUP:
            if( m_nScrollPoss <= 0)
                return;
            nDelta = -min( nMaxPos / 10, m_nScrollPoss);
            break;

        default:
            return;
    }
    m_nScrollPoss += nDelta;
    SetScrollPos( SB_VERT, m_nScrollPoss, TRUE);
    ScrollWindow( 0, -nDelta);

    CDialog::OnVScroll( nSBCode, nPos, pScrollBar);
}

HBRUSH steckbrief_schmetterling_neu::OnCtlColor(
        CDC* pDC,
        CWnd* pWnd,
        UINT nCtlColor)
{
    HBRUSH hbr = CDialog::OnCtlColor( pDC, pWnd, nCtlColor);

    // TODO:  Ändern Sie hier alle Attribute für den DC.
    int ID = pWnd->GetDlgCtrlID();

    if( ID == IDD_DIALOG_Steckbrief_Schmetterling)
    {
        HBRUSH hBrush = CreateSolidBrush( RGB( 255, 255, 240));
        return hBrush;
    }

    if( ID == IDC_STATIC)
    {
        // Set the text color 
        pDC->SetTextColor( RGB( 0, 100, 0));

        // Set the background mode for text to transparent 
        // so background will show thru.
        pDC->SetBkMode( TRANSPARENT);

        // Return handle to our CBrush object
        //hbr = m_brush;
    }

    // TODO:  Ändern Sie hier alle Attribute für den DC.

    if( (ID == IDC_STATIC1) || (ID == IDC_STATIC2) || (ID == IDC_STATIC3)
            || (ID == IDC_STATIC4) || (ID == IDC_STATIC5)
            || (ID == IDC_STATIC6))
    {
        pDC->SetTextColor( RGB( 139, 26, 26)); // Setzt die Textfarbe auf rot
        pDC->SetBkMode( TRANSPARENT);
        //HBRUSH hBrush = CreateSolidBrush(RGB(255,0,0)); //Setzt die Hintergrundfarbe auf rot
        // return (HBRUSH) hBrush;
    }

    // TODO:  Gib einen anderen Pinsel zurück, wenn der Standard nicht erwünscht ist.
    hbr = m_brush;

    // TODO:  Gib einen anderen Pinsel zurück, wenn der Standard nicht erwünscht ist.
    return hbr;
}

void steckbrief_schmetterling_neu::OnCbnSelchangeGruen()
{
    // TODO: Add your control notification handler code here
    CString artauswahl;
    int nIndex = m_auswahl_gruen.GetCurSel();
    if( nIndex != CB_ERR)

    {
        m_auswahl_gruen.GetLBText( nIndex, artauswahl);
        m_liste_gruen.AddString( artauswahl);

    }

    nart->gruen.push_back( *(gruen[ nIndex]));
    nart->gruenlandID.push_back( (*(gruen[ nIndex])).gruenlandID);

}

void steckbrief_schmetterling_neu::OnLbnDblclkListgruen()
{
    // TODO: Add your control notification handler code here
    CString mvwahl;
    int nIndex = m_liste_gruen.GetCurSel();
    if( nIndex != CB_ERR)
    {

        m_liste_gruen.GetText( nIndex, mvwahl);
        m_liste_gruen.DeleteString( nIndex);

        vector< gruenland>::iterator git;
        vector< int>::iterator it;
        git = nart->gruen.begin();
        it = nart->gruenlandID.begin();

        for( int i = 0; i < gruen.size(); i++)
        {
            if( i == nIndex)
            {
                nart->gruen.erase( git);
                nart->gruenlandID.erase( it);
                break;
            } else
            {
                git++;
                it++;
            }
        }

    }
}
