Api 2 fenster



  • Juten morgen leute ich habe da mal eine frage unzwar wie kann man ein 2tes fenster hier einügen und bin buttens oder texten füllen

    #include <iostream> 
    #include <conio.h> 
    #include <string>
    #include <fstream> 
    #include <windows.h> 
    #include <mysql.h> 
    #include <stdio.h> 
    #include <stdlib.h> 
    #include <conio.h>
    #pragma comment (lib,"libmysql.lib") 
    #pragma comment (lib,"mysqlclient.lib")
    
    // Prototypen
    //
    LRESULT CALLBACK WindowProc (HWND hWnd, UINT message,
                                 WPARAM wParam, LPARAM lParam);
    
    HWND ErstelleHauptfenster (HINSTANCE hInst);
    void ErstelleSteuerelemente (HWND hWnd, HINSTANCE hInst);
    
    // IDs der Child-Fenster
    //
    #define ID_STATICTEXT      4000
    #define ID_EDITBOX         4001
    #define ID_BTN_UEBERNEHMEN 4002
    #define ID_BTN_BEENDEN     4003
    #define ID_name 4004
    #define ID_pass 4005
    #define ID_mail 4006
    #define ID_CONNECT 4007
    
    using namespace std;
    
    // Globale Variablen
    // Don't do this at home!
    //
    HWND hText;        // Handle für den statischen Text
    HWND hEditBox;     // Handle für die Editbox
    HWND hUebernehmen; // Handle für Button "Übernehmen"
    HWND hBeenden;     // Handle für Button "Beenden"
    HWND name;
    HWND pass;
    HWND mail;
    HWND conn;
    
    // Hauptprogramm
    //
    int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
                        LPSTR lpcmdline, int ncmdshow)
    {
    
    		MYSQL* mysql; 
    
    		 mysql = mysql_init(NULL); 
    		if(mysql_real_connect(mysql,"","","","",0,NULL,0) != 0) 
    		{
    		}
    		else 
    		{
    			MessageBoxA(NULL,"ERROR \nMySql server offline programm shutdown!","ERROR the MySql server is offline",MB_ICONERROR | MB_OK); 
    			system("EXIT");
    		}
    
      HWND hWnd;   // Fenster-Handle
      MSG message; // Nachricht
    
      // Hauptfenster erstellen
      hWnd = ErstelleHauptfenster (hInst);
    
      // Prüfen, ob alles glatt ging
      if (hWnd == NULL)
        return (0);
    
      // Alle Steuerelemente erstellen
      ErstelleSteuerelemente (hWnd, hInst);
    
      // Der "Herzschlag" des Programms
      // Hier werden alle Nachrichten abgeholt,
      // übersetzt und weitergeleitet
      //
      while (GetMessage (&message, NULL, 0, 0) )
      {
        TranslateMessage (&message);
        DispatchMessage  (&message);
    
      }
    
      // Programm beenden
      return (int)(message.wParam);
    
    } // WinMain
    
    // Erstelle Hauptfenster
    //
    // Hauptfenster erstellen und Handle zurückliefern
    //
    HWND ErstelleHauptfenster (HINSTANCE hInst)
    {
      HWND        hWnd;        // Fenster-Handle
      WNDCLASSEX  windowclass; // Nachricht
    
      // Der Klassenname des Fensters ist frei wählbar
      const char szClassName[] = "Zweites Fenster";
    
      // Struktur mit gewünschten Eigenschaften füllen
      //
    
      // Größe der Struktur zwischenspeichern
      windowclass.cbSize = sizeof (WNDCLASSEX);
    
      // Fenster soll beim Verschieben neu gezeichnet werden
      windowclass.style = CS_HREDRAW | CS_VREDRAW;
    
      // Zeiger auf Callback-Funktion
      windowclass.lpfnWndProc = WindowProc;
    
      // Keine erweiterten Einstellungen
      windowclass.cbClsExtra = 0;
      windowclass.cbWndExtra = 0;
    
      // Instanz speichern
      windowclass.hInstance = hInst;
    
      // Icons und Cursor festlegen
      windowclass.hIcon   = LoadIcon (NULL, IDI_APPLICATION);
      windowclass.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
      windowclass.hCursor = LoadCursor (NULL, IDC_ARROW);
    
      // Hintergrundfarbe festlegen
      windowclass.hbrBackground = (HBRUSH)COLOR_BACKGROUND+1;
    
      // Ein Menü brauchen wir nicht
      windowclass.lpszMenuName = NULL;
    
      // Klassenname angeben
      windowclass.lpszClassName = szClassName;
    
      // Fensterklasse registrieren
      if (!RegisterClassEx (&windowclass) )
        return (NULL);
    
      // Das Fenster erzeugen
      hWnd = CreateWindowEx (NULL,
                             szClassName,
                             "Eine kleine Anwendung",
                             WS_OVERLAPPEDWINDOW | WS_VISIBLE | WS_BORDER, //WS_OVERLAPPEDWINDOW
                             CW_USEDEFAULT, CW_USEDEFAULT,
                             300, 300,
                             NULL,
                             NULL,
                             hInst,
                             NULL);
    
      // Fensterhandle zurückgeben
      return (hWnd);
    
    } // ErstelleHauptfenster
    
    // ErstelleSteuerelemente
    //
    // Alle Steuerelemente erstellen
    //
    void ErstelleSteuerelemente (HWND hWnd, HINSTANCE hInst)
    {
      // Editbox als Child-Fenster erstellen
      //
      conn = CreateWindow ("STATIC",
    						"nicht verbunden",
    						 WS_VISIBLE | WS_CHILD | WS_BORDER | ES_CENTER,
    						 0,20,
    						 300,20,
    						 hWnd,
    						 (HMENU)ID_CONNECT,
    						 hInst,
    						 NULL);
    
      name = CreateWindow ("EDIT",
                               "Login Name",
                               WS_VISIBLE | WS_CHILD | WS_BORDER,
                               0, 70,
                               300, 20,
                               hWnd,
                               (HMENU)ID_name,
                               hInst,
                               NULL);
    
      pass = CreateWindow ("EDIT",
                               "Login Password",
                               WS_VISIBLE | WS_CHILD | WS_BORDER,
                               0, 110,
                               300, 20,
                               hWnd,
                               (HMENU)ID_pass,
                               hInst,
                               NULL);
    
       mail = CreateWindow ("EDIT",
                               "E-Mail adresse",
                               WS_VISIBLE | WS_CHILD | WS_BORDER,
                               0, 150,
                               300, 20,
                               hWnd,
                               (HMENU)ID_mail,
                               hInst,
                               NULL);
    
      // "Übernehmen"-Button als Child-Fenster erstellen
      //
      hUebernehmen = CreateWindow ("BUTTON",
                               "Registrieren",
                               BS_PUSHBUTTON | WS_VISIBLE | WS_CHILD,
                               20, 200,
                               95, 40,
                               hWnd,
                               (HMENU)ID_BTN_UEBERNEHMEN,
                               hInst,
                               NULL);
    
      // "Beenden"-Button als Child-Fenster erstellen
      //
      hBeenden = CreateWindow ("BUTTON",
                               "Beenden",
                               BS_PUSHBUTTON | WS_VISIBLE | WS_CHILD,
                               175, 200,
                               95, 40,
                               hWnd,
                               (HMENU)ID_BTN_BEENDEN,
                               hInst,
                               NULL);
    
    } // ErstelleSteuerelemente
    
    // Callback-Funktion zur Nachrichtenverarbeitung
    //
    LRESULT CALLBACK WindowProc (HWND hWnd, UINT message,
                                 WPARAM wParam, LPARAM lParam)
    {
      // Messages auswerten
      switch (message)
      {
        // Fenster schließen? (Auch Alt-F4)
        case WM_DESTROY:
        {
          // Nachricht zum Beenden schicken
          PostQuitMessage (0);
          return (0);
    
        }
    
        // Ab hier die Nachrichten unserer Child-Fenster bearbeiten
        case WM_COMMAND:
        {
          switch (wParam)
          {
            // Wurde "Übernehmen" angeklickt?
            case ID_BTN_UEBERNEHMEN:
            {   
    
    		    string a1 = "INSERT INTO user (Name,Pass,mail,gesperrt) VALUES('";
    			string name2;
    			string a3 = "', '";
    			string pass2;
    			string a5 = "', '";
    			string mail2;
    			string a6 = "', '";
    			string gesperrt = "nein";
    			string a8 = "' )";
    			string zusammen;
    
    			char name3[256];
    			char pass3[256];
    			char mail3[256];
    
    			GetWindowTextA(name,name3,256);
    			GetWindowTextA(pass,pass3,256);
    			GetWindowTextA(mail,mail3,256);
    
    			name2 = name3;
    			pass2 = pass3;
    			mail2 = mail3;
    
    			zusammen = a1 + name2 + a3 + pass2 + a5 + mail2 + a6 + gesperrt + a8;
    
    			SetWindowText(conn,"connecting to server");
    
    			MYSQL* mysql; 
    
    			mysql = mysql_init(NULL); 
    			if(mysql_real_connect(mysql,"","","","",0,NULL,0) != 0) 
    			{
    				SetWindowText(conn,"connected");
    			}
    			else 
    			{
    			MessageBoxA(NULL,"ERROR \nMySql server offline programm shutdown!","ERROR the MySql server is offline",MB_ICONERROR | MB_OK); 
    			system("EXIT");
    			}
    
    			string lade1;
    			string lade2;
    
    			lade1 = zusammen;
    			lade2 = mysql_query(mysql, lade1.c_str());
    
    			SetWindowText(conn,"Dein Account ist gespeichert");
    
              return (0);
    
            }
    
            // Wurde "Beenden" angeklickt?
            case ID_BTN_BEENDEN:
            {
              int Resultat; // Rückgabewert der Messagebox
    
              // Messagebox für Sicherheitsabfrage
              Resultat = MessageBox (hWnd, "Wirklich beenden?",
                                     "Programm beenden",
                                     MB_YESNO | MB_ICONQUESTION);
    
              // Wurde "Ja" angeklickt?
              if (Resultat == IDYES)
              {
                // Ja, also Programm beenden
                PostQuitMessage (0);
                return (0);
    
              }
    
              // Nein, also ganz normal weiter
              return (0);
    
            }
          } break;
        } break;
      }
    
      // Die Nachricht wurde nicht von uns verarbeitet, also
      // von Windows verarbeiten lassen
      return (DefWindowProc (hWnd, message, wParam, lParam) );
    
    } // WindowProc
    

Anmelden zum Antworten