Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Was macht dieser Code

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 <
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;
}


 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
08.06.2006, 21:35 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


naja soviel MFC ist da auch nicht drin, das oben ist WinAPI, das erstellt ein Fenster mit namen "Hello" und wenn man ins fenster klickt wird der obige text ins fenster gezeichnet.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
08.06.2006, 22:16 Uhr
Poffelnator



Habe ich jetzt auch schon raus gefunden. Problem ich weiß nicht genau was da passiert! Leider steht nicht wirklich was dazu in dem Buch. Mir sagen die Funktionen alle nichts. Was ist MSG, HWND ... . Sind das Klassen oder Strukuren, wenn ja wie sehen sie aus? Leider ist wieder nichts im Buch dazu zu finden. Jedenfalls nicht auf den ersten Seiten auf den ich gerade bin. Das ganze läuft unter der Überschrift "Eine einfache Nachrichtenschleife".

P.S. Habe inzwischen das ganze noch unter

www.spotlight.de/zforen/cpp/m/cpp-1149790856-20072.html

gepostet.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
09.06.2006, 09:07 Uhr
ao

(Operator)



Zitat von Poffelnator:
Folgender Code ist ist aus dem Buch „Visual c++ 6 Kompendium“ von Markt und Technik. Leider wird nicht viel gesagt was hier gemacht wird.

Vielleicht ist das Buch ungeeignet für dich? Schon mal nach Alternativen gesucht? MFC-Einführungen gibts wie Sand am Meer.

Außerdem ist MFC inzwischen etwas in die Jahre gekommen, warum willst du das noch lernen? Gibts nichts Geeigneteres für dich?

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
09.06.2006, 14:14 Uhr
mischa
Fragender


ein tipp schau doch hier im forum unter F.A.Q nach dort wird das programm erklärt
--
Latein Unterricht ist die spätere Rache der Römer an den Germanen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


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: