Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » 1. Win Pogramm

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 < [ 2 ]
000
03.12.2005, 09:10 Uhr
Karldin Shinowa
Professional Noob


Ich bin ziemlich neu bei der WINAPI und habe jetzt mein 1. Pogramm versucht. Eigentlich simpel: Es soll ein Fenster geöffnet werden und die Messages WM_DESTROY und WM_QUIT verarbeiten werden können. Ich sehe keinen Fehler aber der Complier schon


C++:
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <windowsx.h>


//Functionsdeklarations//

//Callback Function
LRESULT CALLBACK MessageHandler(
   HWND hwnd,
   UINT msg,
   WPARAM wparam,
   LPARAM lparam);


//Main-Function//
int WINAPI WinMain(HINSTANCE Instance,
   HINSTANCE hprevinstance,
   LPSTR lpcmdline,
   int ncmdshow){

MSG msg;
    
//new WinClass
WNDCLASSEX WinClass;
WinClass.cbSize=sizeof(WinClass);
WinClass.style=CS_HREDRAW|CS_VREDRAW;//Vertical,Horizontal-Redraw
WinClass.lpfnWndProc=MessageHandler; //Callbackfunktion=Messagehandler
WinClass.cbClsExtra=0;
WinClass.cbWndExtra=0;
WinClass.hInstance=Instance;
WinClass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
WinClass.hCursor=LoadCursor(NULL,IDC_ARROW);
WinClass.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);//black BG
WinClass.lpszMenuName=0;//no Menus
WinClass.lpszClassName="Win Class";
WinClass.hIconSm=LoadIcon(NULL,IDI_APPLICATION);

RegisterClassEx(&WinClass);

HWND CreateWindowEx(

   NULL,                                //no ExStyles
   "Win Class",
   "Window",
   WS_OVERLAPPEDWINDOW | WS_VISIBLE,
   10,10,                               //Position
   200,200,                             //Width,Weight
   NULL,                                //ParantWindow=Desktop
   NULL,                                //no Menu
   Instance,
   NULL                                 //not needed
);//-->error C2078: Zu viele Initialisierungen

//GetMessages
if (PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{
  

   TranslateMessage(&msg);
   DispatchMessage(&msg);
}

return(0);

}




//CallbackFunction
LRESULT CALLBACK MessageHandler(
   HWND hwnd,
   UINT msg,
   WPARAM wparam,
   LPARAM lparam)
{
    switch(msg){
    case WM_CREATE:{return 0;}break;//WindowCreate->nothing
    case WM_DESTROY:{PostQuitMessage(0);return(0);} break;//WindowDestroy-->Quit
    }
}




Ich weiß das ist viel aber ich hoffe einer erbarmt sich mir. Achja ich verwende VC6

thx im vorhinaus
--
Ich will die Welt verbessern, doch Gott gibt mir nicht den Code.

Dieser Post wurde am 03.12.2005 um 15:11 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
03.12.2005, 09:20 Uhr
Oliver
S2-Pixelgeneral



C++:
HWND hWnd = CreateWindowEx(

   NULL,                                //no ExStyles
   "Win Class",
   "Window",
   WS_OVERLAPPEDWINDOW | WS_VISIBLE,
   10,10,                               //Position
   200,200,                             //Width,Weight
   NULL,                                //ParantWindow=Desktop
   NULL,                                //no Menu
   Instance,
   NULL                                 //not needed
);//-->error C2078: Zu viele Initialisierungen


--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
03.12.2005, 09:51 Uhr
Karldin Shinowa
Professional Noob


Das war mir schon klar aber da ich das Handle des Fensters net brauch in diesem Pogramm hab ichs fürs erste weggelassen. Wollte ja eigentlich nur ein funktionierendes Pogramm haben*schluchz*^^
Danke für den Tipp aber es ändert nichts daran dass es der Complier net "schluckt".
--
Ich will die Welt verbessern, doch Gott gibt mir nicht den Code.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
03.12.2005, 10:25 Uhr
Oliver
S2-Pixelgeneral


Wenn du das HWND nicht brauchst, brauchst du es nicht davorzuschreiben. Aber warum schreibst du einfach einen Typ vor die Funktion, das geht nicht?

Was kommen denn jetzt noch für Fehlermeldungen?
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
03.12.2005, 11:24 Uhr
Karldin Shinowa
Professional Noob


danke stimmt habe das HWND unabsichtlich aus der Funktionsdefinition im TuT abgeschrieben. Trotzdem noch 1 Fehler:

C++:
CreateWindowEx(       //---->error C2065: 'CreateWindowExA' : nichtdeklarierter Bezeichner

   NULL,                                //no ExStyles
   "Win Class",
   "Window",
   WS_OVERLAPPEDWINDOW | WS_VISIBLE,
   10,10,                               //Position
   200,200,                             //Width,Weight
   NULL,                                //ParantWindow=Desktop
   NULL,                                //no Menu
   Instance,
   NULL                                 //not needed
);


--
Ich will die Welt verbessern, doch Gott gibt mir nicht den Code.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
03.12.2005, 11:57 Uhr
Oliver
S2-Pixelgeneral


Hmm das sollte aber eigentlich gehen. Mach evtl mal das erste #define und das windowsx.h raus..
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
03.12.2005, 12:17 Uhr
Karldin Shinowa
Professional Noob


hab ich...error bleibt der gleiche
ich schreib mal hier genauere Infos zu meinem Complier:Visual C++ 6
und mein DevC++ nimmts auch net...da gibts sogar 1 linker fehler....
soll ich nochmal den "neuersten" Code herschreiben?
--
Ich will die Welt verbessern, doch Gott gibt mir nicht den Code.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
03.12.2005, 15:22 Uhr
xXx
Devil


Win-Api.de -> Tutorial
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
03.12.2005, 17:36 Uhr
Karldin Shinowa
Professional Noob


Werde ich mir mal reinziehen. Vom anlesen her klingts gut gestaltet. Wenn das auch nix bringt schreibe ich ganz einfach wieder...
Bin neu und wollte nur mal dazu sagen,dass ichs toll finde das einem hier so schnell versucht wird zu helfen.thx
Mfg Karldin
--
Ich will die Welt verbessern, doch Gott gibt mir nicht den Code.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
03.12.2005, 23:32 Uhr
Karldin Shinowa
Professional Noob


Juhu es funktioniert. Habe VC neu installiert und nen Fehler im Code ausgebessert und jetzt funzts. *freu* <alleumarm>
--
Ich will die Welt verbessern, doch Gott gibt mir nicht den Code.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (WinAPI, Konsole) ]  


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: