| 
			
				|  | JLI Spieleprogrammierung 
 
 |  
 
	
		| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |  
		| Autor | Nachricht |  
		| Database Mini JLI'ler
 
 
 
 Anmeldedatum: 20.11.2004
 Beiträge: 24
 Wohnort: Hinter den sieben Bergen
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 02.01.2006, 19:52    Titel: Keine Buttons zum maximieren | schließen | minimieren |   |  
				| 
 |  
				| Wenn sich son dunkler Master JLIer wie der Patrick hier schon rumschleicht, dann kann ich auch gleich mal mein eigenes Problem in den Raum werfen. 
 Kleines Vorwort noch. Das Fenster wird erzeugt, alles toll, außer den Buttons zum maximieren | minimieren | schließen.
 
 Könnt ihr mir vielleicht helfen?
 
 
  	  | Code: |  	  | //window2.cpp //Copyright Alexander Schlie
 
 #include <windows.h>
 
 
 //Callbakc Funktion
 
 LRESULT CALLBACK WindowProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam)
 {
 switch(message)
 {
 case WM_DESTROY:
 {
 //Window wird geschlossen
 PostQuitMessage(0);
 break;
 }
 case WM_PAINT:
 {
 HDC hdc;
 hdc = GetDC(hwnd);
 TextOut(hdc, 100, 100, "3D Spieleprogrammierung", strlen("3D Spieleprogrammierung"));
 ReleaseDC(hwnd, hdc);
 break;
 }
 return 0;
 }
 return (DefWindowProc(hwnd, message, wparam, lparam));
 }
 
 
 
 
 
 //Main Funktion
 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
 {
 //MessageBox zu Beginn
 MessageBox(NULL, "Copyright 2005 Alexander Schlie", "Warning", MB_OK | MB_ICONINFORMATION);
 
 WNDCLASSEX winclass;
 const char AppName[] = "myclass";
 
 winclass.cbSize = sizeof(WNDCLASSEX);
 winclass.style = CS_HREDRAW;
 winclass.lpfnWndProc = WindowProc;
 winclass.cbClsExtra = 0;
 winclass.cbWndExtra = 0;
 winclass.hInstance = hInstance;
 winclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);   // Icon wird festgelegt
 winclass.hCursor = LoadCursor(NULL, IDC_ARROW);      //Cursur wird festgelegt
 winclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH);      //Hintergrundfarbe des Fensters auf weiß gesetzt
 winclass.lpszMenuName = NULL;                  //Menü für das Fenster wird definiert
 winclass.lpszClassName = AppName;               //Name der Klasse
 winclass.hIconSm = LoadIcon (NULL, IDI_APPLICATION);    // Icon der verkleinerten version auf der Taskleiste
 
 if (!(RegisterClassEx(&winclass)))
 {
 return 0;
 }
 
 
 CreateWindowEx(NULL,
 AppName,
 "3D-Spieleprogrammierung",
 WS_OVERLAPPED | WS_VISIBLE,
 0, 0,
 500, 400,
 NULL,
 NULL,
 hInstance,
 NULL);
 
 MSG message;
 
 while(GetMessage(&message, NULL, 0, 0))
 {
 TranslateMessage(&message);
 DispatchMessage(&message);
 } //While Schleife
 return 0;
 }//Main Funktion
 
 
 | 
 
 Danke
 |  |  
		| Nach oben |  |  
		|  |  
		| Blubb-Tec JLI'ler
 
  
 Alter: 34
 Anmeldedatum: 29.03.2005
 Beiträge: 171
 Wohnort: Düsseldorf
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 02.01.2006, 20:07    Titel: |   |  
				| 
 |  
				| alsooo, das liegt an folgendem: statt
 
  	  | CPP: |  	  | CreateWindowEx(NULL, AppName,
 "3D-Spieleprogrammierung",
 WS_OVERLAPPED | WS_VISIBLE,
 0, 0,
 500, 400,
 NULL,
 NULL,
 hInstance,
 NULL);
 
 | 
 
 musst du
 
  	  | CPP: |  	  | CreateWindowEx(NULL, AppName,
 "3D-Spieleprogrammierung",
 WS_OVERLAPPEDWINDOW | WS_VISIBLE;
 0, 0,
 500, 400,
 NULL,
 NULL,
 hInstance,
 NULL);
 
 | 
 schreiben, weil WS_OVERLAPPED nicht die boxen miteinschließt
   
 dann noch was:
 wenn du die Nachricht WM_PAINT behandelst, ich weiss nich ob es absicht ist, solltest du statt GetDC() und ReleaseDC() besser BeginPaint() und EndPaint() benutzen, da gibbet wichtige Unterschiede
   und mach aus der zeile
 
  	  | CPP: |  	  | winclass.style = CS_HREDRAW; | 
 das hier:
 
  	  | CPP: |  	  | winclass.style = CS_HREDRAW | CS_VREDRAW; | 
 damit das Fenster auch neugezeichnet wird, fals die vertikale Größe verändert wird
   ansonsten, lies dir mal auf www.germangamedev.de die ersten Teile von "Funny Break" durch, da wird dir eine bessere Möglichkeit für die Nachrichtenbehandlung gezeigt
   
 [edit]hab jetzt mal einen spruch von dir in meine Signatur gepackt
  [/edit] _________________
 www.planlos.de
 
 Zuletzt bearbeitet von Blubb-Tec am 02.01.2006, 20:23, insgesamt einmal bearbeitet
 |  |  
		| Nach oben |  |  
		|  |  
		| The Lord of Programming Living Legend
 
  
 Alter: 38
 Anmeldedatum: 14.03.2003
 Beiträge: 3122
 
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 02.01.2006, 20:16    Titel: |   |  
				| 
 |  
				| /Thema abgespalten Hey, wenn du schon ein neues Problem hast, dann kannst du das auch in einem neuen Thread erklären.
   Im alten gings schließlich nur um den C++ Standard...
 _________________
 www.visualgamesentertainment.net
 Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
 (1) Realtime Developer Testing and Debugging Console
 
   Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
 Hilf Schäuble! Damit er auch was findet...
 |  |  
		| Nach oben |  |  
		|  |  
		| Jonathan_Klein Living Legend
 
  
 Alter: 38
 Anmeldedatum: 17.02.2003
 Beiträge: 3433
 Wohnort: Siegerland
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 02.01.2006, 20:50    Titel: |   |  
				| 
 |  
				| In der MSDN steht bei CreateWindow eine detailirte auflistung, aller möglichkeiten zur Fenstererstellung: 
 WS_OVERLAPPED
 Creates an overlapped window. An overlapped window has a title bar and a border. Same as the WS_TILED style.
 WS_OVERLAPPEWINDOW
 Creates an overlapped window with the WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX, and WS_MAXIMIZEBOX styles. Same as the WS_TILEDWINDOW style.
 
 usw.
 _________________
 https://jonathank.de/games/
 |  |  
		| Nach oben |  |  
		|  |  
		|  |  
  
	| 
 
 | 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
 |