000
08.06.2006, 14:54 Uhr
Poffelnator
|
Was macht das Programm? Ich habe mich entschlossen jetzt mit der MFC zu beginnen. Meine bisherigen c/c++ Kenntnisse beziehen sich nur auf Ansi c/c++ und meine Programmiererfahrung ist leider auch nur sehr dünn. (Darum jetzt der nächste Schritt, habe keine sinnvollen Aufgaben gefunden die sich mit Ansi c/c++ lösen lassen.)
Folgender Code ist ist aus dem Buch „Visual c++ 6 Kompendium“ von Markt und Technik. Leider wird nicht viel gesagt was hier gemacht wird. (Die Reihe Kompendium ist leider nicht chronologisch aufgebaut was leider die Einarbeitung nicht gerade leider macht.) Kann hier vielleicht jemand den Code auskommentieren?
C++: |
#include <windows.h>
LRESULT CALLBACK WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { HDC hDC; RECT clientRect;
switch(uMsg) { case WM_LBUTTONDOWN:
hDC = GetDC(hwnd); if (hDC != NULL) { GetClientRect(hwnd, &clientRect); DPtoLP(hDC, (LPPOINT)&clientRect, 2); DrawText(hDC, "Hello, World!", -1, &clientRect, DT_CENTER | DT_VCENTER | DT_SINGLELINE); ReleaseDC(hwnd,hDC); } break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hwnd, uMsg, wParam, lParam); } return 0; }
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR d3, int nCmdShow) { MSG msg; HWND hwnd; WNDCLASS wndClass;
if (hPrevInstance == NULL) { memset(&wndClass, 0, sizeof(wndClass)); wndClass.style = CS_HREDRAW | CS_VREDRAW; wndClass.lpfnWndProc = WndProc; wndClass.hInstance = hInstance; wndClass.hCursor = LoadCursor(NULL, IDC_ARROW); wndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); wndClass.lpszClassName = "HELLO"; if (!RegisterClass(&wndClass)) return FALSE; } hwnd = CreateWindow("HELLO", "HELLO", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL); ShowWindow(hwnd, nCmdShow); UpdateWindow(hwnd); while (GetMessage(&msg, NULL, 0, 0)) DispatchMessage(&msg); return msg.wParam; }
|
|