JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=a209a311a4289b1099c1f7b2604a0182Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Fenster erstellungs Problem

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Patric
Mini JLI'ler



Anmeldedatum: 17.09.2004
Beiträge: 28

Medaillen: Keine

BeitragVerfasst am: 24.09.2004, 13:29    Titel: Fenster erstellungs Problem Antworten mit Zitat

Mein code:

#include <windows.h>

HWND CreateMainWindow(HINSTANCE hInstance);

HWND hWnd=0;

int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
hWnd=CreateMainWindow(hInstance);

return 0;

HWND CreateMainWindow(HINSTANCE hInstance)
{
WNDCLASSEX wndClass =
{
sizeof(WNDCLASSEX),
CS_DBLCLKS | CS_OWNDC | CS_HREDRAW | CSVREDRAW,
MessageHandler,
0,
0,
hInstance,
LoadIcon(NULL, IDI_WINLOGO),
LoadCursor(NULL, IDI_ARROW),
(HBRUSH)GetStockObject(WHITE_BRUSH),
NULL,
"WindowClass",
LoadIcon(NULL, IDI_WINLOGO)
};

RegisterClassEx(&wndClass);

return CreateWIndowEx(
NUll,
"WindowClass",
"Ein einfaches Fenster",
WS_OVERLQPPEDWINDOW | WS_VISIBLE,
100,
200,
100,
200,
NULL,
NULL,
hInstance,
NULL);
}
}

und dann bekomm ich immer fehler beim builden...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 24.09.2004, 13:42    Titel: Antworten mit Zitat

Funktionen wie:
HWND CreateMainWindow(HINSTANCE hInstance)
{

kommen erstmal vor und nach die Main Funktion und {} Klammern, aber niemals zwischen den {} Klammern!!
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Patric
Mini JLI'ler



Anmeldedatum: 17.09.2004
Beiträge: 28

Medaillen: Keine

BeitragVerfasst am: 24.09.2004, 13:52    Titel: Antworten mit Zitat

ah thx naja als neuling fällt einem sowas nicht auf thx Very Happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 24.09.2004, 14:02    Titel: Antworten mit Zitat

Geht es jetzt?

Und noch ein Tip:
Nächstes mal bitte einen Quellcode/Sourcecode mit der Schaltfläche Code einschachteln...oder manuell:

[.code]
...
[./code]

Natürlich ohne die Punkte! Wink
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Patric
Mini JLI'ler



Anmeldedatum: 17.09.2004
Beiträge: 28

Medaillen: Keine

BeitragVerfasst am: 24.09.2004, 14:39    Titel: Antworten mit Zitat

ja es ging aber hab nun anderes problem:
Code:

#include <windows.h>

HWND CreateMainWindow(HINSTANCE hInstance);

HWND hWnd=0;

LRESULT CALLBACK MessageHandler(HWND hWnd,
                        UINT msg,
                        WPARAM wPARAM,
                        LPARAM lParam);

int WINAPI WinMain(HINSTANCE hInstance,
               HINSTANCE hPrevInstance,
               LPSTR lpCmdLine,
               int nCmdShow)
{   
   hWnd=CreateMainWindow(hInstance);

   return 0;
}

   HWND CreateMainWindow(HINSTANCE hInstance)
   {
      WNDCLASSEX wndClass =
      {
         sizeof(WNDCLASSEX),
         CS_DBLCLKS | CS_OWNDC | CS_HREDRAW | CS_VREDRAW,
         MessageHandler,
         0,
         0,
         hInstance,
         LoadIcon(NULL, IDI_WINLOGO),
         LoadCursor(NULL, IDC_ARROW),
         (HBRUSH)GetStockObject(WHITE_BRUSH),
         NULL,
         "WindowClass",
         LoadIcon(NULL, IDI_WINLOGO)
      };

      RegisterClassEx(&wndClass);

      return CreateWindowEx(
         NULL,
         "WindowClass",
         "Ein einfaches Fenster",
         WS_OVERLAPPEDWINDOW | WS_VISIBLE,
         100,
         200,
         100,
         200,
         NULL,
         NULL,
         hInstance,
         NULL);
   }


   LRESULT CALLBACK MessageHandler(HWND hWnd,
                           UINT msg,
                           WPARAM wParam,
                           LPARAM lParam)
   {
      switch(msg)
      {
      case WM_CLOSE:
            return 0;
         break;
      }
      return DefWindowProc(hWnd,msg,wParam,lParam);
      
   }



beim builden:
Compiling...
lol2.cpp
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/lol2.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 24.09.2004, 14:47    Titel: Antworten mit Zitat

Nimm das return 0; in der main funktion raus und ersetze es mit der Messageschleife..
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Patric
Mini JLI'ler



Anmeldedatum: 17.09.2004
Beiträge: 28

Medaillen: Keine

BeitragVerfasst am: 24.09.2004, 14:49    Titel: Antworten mit Zitat

Also so:
Code:

#include <windows.h>

HWND CreateMainWindow(HINSTANCE hInstance);

HWND hWnd=0;

LRESULT CALLBACK MessageHandler(HWND hWnd,
                        UINT msg,
                        WPARAM wParam,
                        LPARAM lParam);

int WINAPI WinMain(HINSTANCE hInstance,
               HINSTANCE hPrevInstance,
               LPSTR lpCmdLine,
               int nCmdShow)
{   
   hWnd=CreateMainWindow(hInstance);

   MSG msg;

   while(GetMessage(&msg,NULL,0,0))
   {
      DispatchMessage(&msg);
      TranslateMessage(&msg);
   }
}

   HWND CreateMainWindow(HINSTANCE hInstance)
   {
      WNDCLASSEX wndClass =
      {
         sizeof(WNDCLASSEX),
         CS_DBLCLKS | CS_OWNDC | CS_HREDRAW | CS_VREDRAW,
         MessageHandler,
         0,
         0,
         hInstance,
         LoadIcon(NULL, IDI_WINLOGO),
         LoadCursor(NULL, IDC_ARROW),
         (HBRUSH)GetStockObject(WHITE_BRUSH),
         NULL,
         "WindowClass",
         LoadIcon(NULL, IDI_WINLOGO)
      };

      RegisterClassEx(&wndClass);

      return CreateWindowEx(
         NULL,
         "WindowClass",
         "Ein einfaches Fenster",
         WS_OVERLAPPEDWINDOW | WS_VISIBLE,
         100,
         200,
         100,
         200,
         NULL,
         NULL,
         hInstance,
         NULL);
   }


   LRESULT CALLBACK MessageHandler(HWND hWnd,
                           UINT msg,
                           WPARAM wParam,
                           LPARAM lParam)
   {
      switch(msg)
      {
      case WM_CLOSE:
            return 0;
         break;
      }
      return DefWindowProc(hWnd,msg,wParam,lParam);
      
   }

geht aber immer noch nicht immer noch selber fehler...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 24.09.2004, 14:58    Titel: Antworten mit Zitat

TranslateMessage kommt vor DispatchMessage...

nach der while Schleife kommt doch noch ein return 0;

Win32 Projekt ausgewählt?
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Patric
Mini JLI'ler



Anmeldedatum: 17.09.2004
Beiträge: 28

Medaillen: Keine

BeitragVerfasst am: 24.09.2004, 15:05    Titel: Antworten mit Zitat

jo hab ich ausgewählt ich probiers mal
EDIT:
also ich hab jetzt alles kopiert neues projekt gemacht und jetzt gings... aber eingetlich hat ich schon das richtige gewählt auf jedenfall mal danke für die hilfe Very Happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 24.09.2004, 15:20    Titel: Antworten mit Zitat

kein Problem - dafür ist ja die Community da! Wink Very Happy
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum