JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.phpMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

GDI - Textausgabe

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



Anmeldedatum: 15.07.2003
Beiträge: 43

Medaillen: Keine

BeitragVerfasst am: 25.07.2003, 16:52    Titel: GDI - Textausgabe Antworten mit Zitat

Wie kann ich denn die Funktion von Seite 228 in der WinMain Funktion aufrufen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 25.07.2003, 17:16    Titel: Antworten mit Zitat

Hmm, welches Buch, welche Funktion?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Leax
Mini JLI'ler



Anmeldedatum: 15.07.2003
Beiträge: 43

Medaillen: Keine

BeitragVerfasst am: 25.07.2003, 17:35    Titel: Antworten mit Zitat

Jetzt lerne ich Spieleprogrammierung

GDI-Funktionen zur Textausgabe
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 25.07.2003, 20:18    Titel: Antworten mit Zitat

Diese Funktion (TextOut) aus der WinMain-Funktion aufzurufen macht nur bedingt Sinn, da du ja das Fensterhandle brauchst und außerdem dann zeichnen solltest, wenn du WM_PAINT empfängst.

Christian
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Leax
Mini JLI'ler



Anmeldedatum: 15.07.2003
Beiträge: 43

Medaillen: Keine

BeitragVerfasst am: 25.07.2003, 22:18    Titel: Antworten mit Zitat

also ich meine, wie ich denn nun an einem Beispiel ein Fenster zeichnen kann und eben einen text ausgeben kann.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Shark
Mini JLI'ler



Anmeldedatum: 27.08.2003
Beiträge: 9

Medaillen: Keine

BeitragVerfasst am: 27.08.2003, 10:10    Titel: Antworten mit Zitat

Mach's doch einfach so:
Code:

#include <windows.h>

// Prototypen
HWND CreateMainWindow(HINSTANCE hInstance);
LRESULT CALLBACK MessageHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
bool Error(char* msg);

// globale Variablen
HWND hWnd = NULL;

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

   if(0 == hWnd)
   {
      return Error("Fenster konnte nicht erzeugt werden");
   }

   MSG msg;

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

   return 0;
}

HWND CreateMainWindow(HINSTANCE hInstance)
{
   WNDCLASSEX wndClass;

   wndClass.cbSize      = sizeof(WNDCLASSEX);
   wndClass.style      = CS_DBLCLKS | CS_OWNDC | CS_HREDRAW | CS_VREDRAW;

   wndClass.lpfnWndProc      = MessageHandler;
   
   wndClass.cbClsExtra      = 0;
   wndClass.cbWndExtra      = 0;
   wndClass.hInstance      = hInstance;

   wndClass.hbrBackground   = (HBRUSH)GetStockObject(BLACK_BRUSH);

   wndClass.hCursor      = LoadCursor(NULL, IDC_ARROW);

   wndClass.lpszMenuName   = NULL;
   wndClass.lpszClassName   = "WindowClass";

   wndClass.hIcon         = LoadIcon(NULL, IDI_WINLOGO);
   wndClass.hIconSm      = LoadIcon(NULL, IDI_WINLOGO);

   RegisterClassEx(&wndClass);

   return CreateWindowEx(
               NULL,
               "WindowClass",
               "Win32 Easy GDI",
               WS_OVERLAPPEDWINDOW | WS_VISIBLE,
               10, 10,
               400, 300,
               NULL,
               NULL,
               hInstance,
               NULL);
}

LRESULT CALLBACK MessageHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
   switch(msg)
   {
   case WM_DESTROY:
         PostQuitMessage(0);
         return 0;
      break;
   case WM_PAINT:
         PAINTSTRUCT ps;
         HDC hDC;

         hDC = BeginPaint(hWnd,&ps);

         SetTextColor(hDC,RGB(255,0,0));
         SetBkMode(hDC,TRANSPARENT);
         
         TextOut(hDC,140,115,"Hallo Windows!",14);
         EndPaint(hWnd,&ps);

         return 0;
      break;
   }
   return (DefWindowProc(hWnd,msg,wParam,lParam));
}

bool Error(char* msg)
{
   OutputDebugString(msg);
   OutputDebugString("\n");

   MessageBox(hWnd,msg,"Fehler",MB_OK | MB_ICONERROR);
   return 0;
}

_________________
Wir sollten die Zeit als Werkzeug nutzen, nicht als Couch.
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