WinAPI - Mouse Bewegung

Webdesigner's
Verfügbare Informationen zu "WinAPI - Mouse Bewegung"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: Snowball
  • Forum: Webdesigner's
  • Forenbeschreibung: Das Hilfe Forum für alle Webdesigner
  • aus dem Unterforum: Tutorial C++
  • Antworten: 1
  • Forum gestartet am: Freitag 20.07.2007
  • Sprache: deutsch
  • Link zum Originaltopic: WinAPI - Mouse Bewegung
  • Letzte Antwort: vor 16 Jahren, 9 Monaten, 4 Tagen, 29 Minuten
  • Alle Beiträge und Antworten zu "WinAPI - Mouse Bewegung"

    Re: WinAPI - Mouse Bewegung

    Snowball - 24.07.2007, 10:17

    WinAPI - Mouse Bewegung
    in diesem tutorial will ich euch zeigen, wie man ein eifnaches rechteck zeichnen kann, es soll dazu dienen, euch klar zu machen, wie die mMosue eigenlich funktioniert und wie man sie in WinAPI einbinden kann! ich selber habe dieses programm nur mit dem Compiler "Microsoft Visual C++ 2005 Express Edition" getestet, weiß also nicht ob es bei anderen Compilern auch geht, aber wenn API installiert ist sollte es eigentlich gehen.

    Aber nun kommen wir zum Quellcode:

    Code: #include <windows.h>
    #include "stdafx.h"

    LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                       PSTR szCmdLine, int iCmdShow)
    {
       MSG         msg;
       HWND        hWnd;
       WNDCLASS    wc;
       char        szAppName[] = "Beweungen der Mouse";
       
       wc.cbClsExtra         = 0;
       wc.cbWndExtra         = 0;
       wc.hbrBackground      = (HBRUSH)GetStockObject(WHITE_BRUSH);
       wc.hCursor            = LoadCursor(NULL, IDC_ARROW);
       wc.hIcon              = LoadIcon(NULL, IDI_APPLICATION);
       wc.hInstance          = hInstance;
       wc.lpfnWndProc        = WndProc;
       wc.lpszClassName      = szAppName;
       wc.lpszMenuName       = NULL;
       wc.style              = CS_VREDRAW | CS_HREDRAW;
       
       RegisterClass(&wc);
       
       hWnd = CreateWindow(  szAppName,
                             szAppName,
                             WS_OVERLAPPEDWINDOW,
                             CW_USEDEFAULT,
                             CW_USEDEFAULT,
                             CW_USEDEFAULT,
                             CW_USEDEFAULT,
                             NULL,
                             NULL,
                             hInstance,
                             NULL);
                             
       ShowWindow(hWnd, iCmdShow);
       UpdateWindow(hWnd);
       
       while (GetMessage(&msg, NULL, 0, 0))
       {
          TranslateMessage(&msg);
          DispatchMessage(&msg);
       }
       
       return msg.wParam;
    }

    LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    {

          static POINT start;
       static POINT ende;
       
       switch (message)
       {
       case WM_CREATE:
          {
             start.x = -1;
             start.y = -1;
             ende.x  = -1;
             ende.y  = -1;
             return 0;
          }

    case WM_LBUTTONDOWN:
          {
             start.x = LOWORD(lParam);
             start.y = HIWORD(lParam);
             return 0;
          }

         case WM_MOUSEMOVE:
          {

            if (wParam & MK_LBUTTON)
             {
                ende.x = LOWORD(lParam);
                ende.y = HIWORD(lParam);
                InvalidateRect(hWnd, NULL, TRUE);
             }
             return 0;
          }

         case WM_PAINT:
          {
             PAINTSTRUCT    ps;
             HDC            hDC;
             
             hDC = BeginPaint(hWnd, &ps);
             {
                Rectangle(hDC, start.x, start.y, ende.x, ende.y);
             }
             EndPaint(hWnd, &ps);
             return 0;
          }
       case WM_DESTROY:
          {
             PostQuitMessage(0);
             return 0;
          }
       }
       
       return DefWindowProc(hWnd, message, wParam, lParam);
    }


    Wenn ihr den debug nun startet sollte sich ein Windows fenster öffnen, wenn ihr dort die linke moustaste gedrückt haltet und sie über den Bildschirm zieht, sollte sich ein rechteck mitziehen. Wenn dieses programm bei euch nicht geht, kann es daran liegen, das ihr WinAPI noch nicht installiert hbet, oder bei den projekt Eigenschaften den zeichnsatz noch nicht auf "nicht festgelegt" umgestellt habt. Fragen dürft ihr natürlich jederzeit im WinAPI Forum stellen!



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum Webdesigner's

    Code - j3D - Sonnensystem - gepostet von Snowball am Samstag 06.10.2007
    was ist HTML - gepostet von Snowball am Freitag 20.07.2007



    Ähnliche Beiträge wie "WinAPI - Mouse Bewegung"

    bewegung - F I S H I (Donnerstag 18.08.2005)
    Mouse Rage Syndrom - dejost (Freitag 22.12.2006)
    Wie viel Bewegung bekommen eure Pferde? - Lasse (Samstag 08.09.2007)
    Mal was Bewegung hier reinbringen. - aerokadett (Freitag 21.04.2006)
    House Mouse thema Zeitung - nadine (Samstag 25.08.2007)
    Bewegung+kampf - Brudd (Dienstag 13.06.2006)
    Punk-Bewegung - JahRahShiva (Dienstag 26.07.2005)
    Mouse dance - Video - Moderator (Sonntag 14.01.2007)
    modest mouse - cloony (Donnerstag 27.07.2006)
    was is das lolligste bewegung die er gemacht hat? - ygirliey (Sonntag 10.12.2006)