 |
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Leax Mini JLI'ler

Anmeldedatum: 15.07.2003 Beiträge: 43
Medaillen: Keine
|
Verfasst am: 25.07.2003, 16:52 Titel: GDI - Textausgabe |
|
|
Wie kann ich denn die Funktion von Seite 228 in der WinMain Funktion aufrufen? |
|
Nach oben |
|
 |
Christian Rousselle Site Admin

Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 25.07.2003, 17:16 Titel: |
|
|
Hmm, welches Buch, welche Funktion? |
|
Nach oben |
|
 |
Leax Mini JLI'ler

Anmeldedatum: 15.07.2003 Beiträge: 43
Medaillen: Keine
|
Verfasst am: 25.07.2003, 17:35 Titel: |
|
|
Jetzt lerne ich Spieleprogrammierung
GDI-Funktionen zur Textausgabe |
|
Nach oben |
|
 |
Christian Rousselle Site Admin

Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 25.07.2003, 20:18 Titel: |
|
|
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 |
|
 |
Leax Mini JLI'ler

Anmeldedatum: 15.07.2003 Beiträge: 43
Medaillen: Keine
|
Verfasst am: 25.07.2003, 22:18 Titel: |
|
|
also ich meine, wie ich denn nun an einem Beispiel ein Fenster zeichnen kann und eben einen text ausgeben kann. |
|
Nach oben |
|
 |
Shark Mini JLI'ler
Anmeldedatum: 27.08.2003 Beiträge: 9
Medaillen: Keine
|
Verfasst am: 27.08.2003, 10:10 Titel: |
|
|
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 |
|
 |
|
|
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
|