Join fachinformatiker.de Forum Now
Seite 2 von 2 ErsteErste 12
Ergebnis 16 bis 27 von 27

Noob Frage - Komische Wörter vor der Variable

Diskussion über Noob Frage - Komische Wörter vor der Variable in C++: Compiler, IDEs, APIs der Kategorie Programmierung; So, habe eine weitere Frage betreffend: Code: LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; ...

  1. #16
    Reg.-Benutzer
    Reg.-Datum
    16.01.2009
    Beiträge
    258

    Standard

    So, habe eine weitere Frage betreffend:

    Code:
    LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
        PAINTSTRUCT ps;
        HDC hdc;
        TCHAR greeting[] = _T("Hello, World!");
    
        switch (message)
        {
        case WM_PAINT:
            hdc = BeginPaint(hWnd, &ps);
    
            // Here your application is laid out.
            // For this introduction, we just print out "Hello, World!"
            // in the top left corner.
            TextOut(hdc,
                5, 5,
                greeting, _tcslen(greeting));
            // End application-specific layout section.
    
            EndPaint(hWnd, &ps);
            break;
        case WM_DESTROY:
            PostQuitMessage(0);
            break;
        default:
            return DefWindowProc(hWnd, message, wParam, lParam);
            break;
        }
    
        return 0;
    }
    Das Case fragt "message" ab, welches vom Typ UINT ist. Aber UINT ist ein unsigned Integer. wie kann es sein er was tut wenn z.B. der Fall "WM_PAINT" ist?!?! Also irgendwie versteh ich nicht wieso er bei WM_PAINT z.B überhaupt reinspringen würde wenn doch eigentlich nach Zahlen (
    The range is 0 through 4294967295 decimal
    ) abgefragt wird?!?

    Also manchmal hängst doch nur


  2. #17
    Moderator Daily Talk Avatar von Guybrush Threepwood
    Reg.-Datum
    01.09.2002
    Ort
    Melee Island
    Beiträge
    4.564

    Standard

    Weil WM_PAINT einfach nur eine lesbare Definition für einen Zahlenwert ist.

    Wie wärs wenn du dir mal ein entsprechendes C Buch nimmst und das durcharbeitetst um erstmal die Grundlagen zu lernen?
    Ich bin Guybrush Threepwood, ein mächtiger Pirat!

  3. #18
    Reg.-Benutzer
    Reg.-Datum
    16.01.2009
    Beiträge
    258

    Standard

    hm und wo wird dieser Wert definiert?!?

  4. #19
    Reg.-Benutzer Avatar von lilith2k3
    Reg.-Datum
    10.03.2010
    Ort
    Osnabrück
    Beiträge
    1.012

    Standard

    Wer lernt auch anhand der WinAPI C?
    Experience is what you get when you didn't get what you wanted.

  5. #20
    Administrator + Moderator
    C++: Compiler, IDEs, APIs / C und C++, Algorithmik, Basic, Sonstige, .NET
    Avatar von Klotzkopp
    Reg.-Datum
    10.07.2001
    Ort
    Essen
    Beiträge
    9.414

    Standard

    Zitat Zitat von lilith2k3 Beitrag anzeigen
    Wer lernt auch anhand der WinAPI C?
    Ich befürchte, es ist noch schlimmer: Er schreibt ja von Klassen, also will er womöglich C++ lernen.

    @fisianer2009: Was genau willst du lernen? Die WinAPI ist ein denkbar schlechter Einstieg, wenn du C++ lernen willst.
    "Funktioniert nicht" ist keine ausreichende Problembeschreibung.

  6. #21
    Reg.-Benutzer
    Reg.-Datum
    22.11.2011
    Beiträge
    494

    Standard

    In der windows.h werden diese Windowsspezifischen Datentypen (z.B. HWND), Strukturen(z.B. PAINTSTRUCT), Konstanten(WM_PAINT) etc. definiert.
    Die aktuelle windows.h ist immer in der aktuellen Windows SDK enthalten.

  7. #22
    Reg.-Benutzer
    Reg.-Datum
    16.01.2009
    Beiträge
    258

    Standard

    Zitat Zitat von Aras Beitrag anzeigen
    In der windows.h werden diese Windowsspezifischen Datentypen (z.B. HWND), Strukturen(z.B. PAINTSTRUCT), Konstanten(WM_PAINT) etc. definiert.
    Die aktuelle windows.h ist immer in der aktuellen Windows SDK enthalten.
    ah ok. und woher weiß ich welchen Wert die Konstante WM_PAINT hat, z.B. "1" ?

    --> ist das die Lösung meiner Fragen? http://docs.embarcadero.com/products..._WM_PAINT.html ^^
    Geändert von fisianer2009 (06.06.2012 um 21:14 Uhr)

  8. #23
    Reg.-Benutzer
    Reg.-Datum
    22.11.2011
    Beiträge
    494

    Standard

    Für den Windows-Programmierer sollte es egal sein welchen Wert die Konstante WM_PAINT hat. Wenn du ein Windows Programm in C oder C++ programmieren willst, dann musst du nur wissen, dass in Windows eine sogenannte Message Queue gibt, und dass in dieser Queue Window Messages abgesetzt werden.

    Durch die Messages werden Ereignisse systemweit ausgelöst und abgefangen. Dein Windows Programm greift von der Windows Message Queue per GetMessage die Window Messages für ihn ab.

    WM_PAINT löst das gesamte neu zeichnen des betroffenen Windows und der ihm untergeordneten Windows aus.

  9. #24
    Reg.-Benutzer
    Reg.-Datum
    16.01.2009
    Beiträge
    258

    Standard

    dank erstmal. ist aber ganz schön hartes brot :/

  10. #25
    Reg.-Benutzer
    Reg.-Datum
    22.11.2011
    Beiträge
    494

    Standard

    Ist ja auch sehr Systemnah was du da vor dir hast. Ich hab mich vor 7-8 Jahren damit intensiv beschäftigt und seitdem nicht mehr und das wissen ist bombenfest.

  11. #26
    Reg.-Benutzer
    Reg.-Datum
    26.10.2011
    Beiträge
    57

    Standard

    Zitat Zitat von fisianer2009 Beitrag anzeigen
    ah ok. und woher weiß ich welchen Wert die Konstante WM_PAINT hat, z.B. "1" ?

    --> ist das die Lösung meiner Fragen? Messages.WM_PAINT Constant ^^
    WM_PAINT ist soweit ich weiß in der WinUser.h definiert. Schau dir am besten mal an, wie die Compiler Direktive #define funktioniert.

    Aber, das Gute daran ist, dass es überhaupt nicht notwendig ist, zu wissen, von welchem Typ Message ist und welchen Wert WM_PAINT hat, da man hier von der internen Implementierung abstahiert.

    Beispielsweise ist es für Anfänger auch nicht zu empfehlen, genau zu erfahren wie ein Funktionsaufruf intern funktioniert (z.B. STDCALL). Nimm es erstmal einfach hin, bevor du dich mit solchen Einzelheiten beschäftigst.

  12. #27
    Reg.-Benutzer
    Reg.-Datum
    16.01.2009
    Beiträge
    258

    Standard

    um nochmal auf meine anfangsfrage zurückzukommen:

    Verallgemeinernd könnte man auch sagen, dass eine Klasse dem Datentyp eines Objekts entspricht
    Wikipedia hats mal wieder auf den Punkte gebracht ;-)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. quickbar erstellen *noob frage*
    Von [BOG]_Zero im Forum Anwendungssoftware
    Antworten: 4
    Letzter Beitrag: 24.07.2007, 20:56
  2. $this-> [Noob-Frage]
    Von | Achilles | im Forum Skript- und Webserverprogrammierung
    Antworten: 6
    Letzter Beitrag: 24.12.2005, 22:48
  3. Komische Frage bez. AMD-Board
    Von Chessi im Forum Hardware
    Antworten: 2
    Letzter Beitrag: 07.05.2003, 15:13
  4. Wörter in Variable
    Von DerAlex im Forum C und C++
    Antworten: 9
    Letzter Beitrag: 19.04.2002, 20:30
  5. komische Frage :-)
    Von Sailem im Forum Daily Talk
    Antworten: 1
    Letzter Beitrag: 25.10.2001, 12:05