WinAPI - Windows Button einfügen

Webdesigner's
Verfügbare Informationen zu "WinAPI - Windows Button einfügen"

  • 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 - Windows Button einfügen
  • Letzte Antwort: vor 16 Jahren, 9 Monaten, 5 Tagen, 14 Stunden, 34 Minuten
  • Alle Beiträge und Antworten zu "WinAPI - Windows Button einfügen"

    Re: WinAPI - Windows Button einfügen

    Snowball - 24.07.2007, 11:21

    WinAPI - Windows Button einfügen
    in diesem tutorial möchte ich euch zeigen wie man inen Windows Button einfügen kann, dies ist natüröich viele icnfacher als selbstgemachte, da diese nun auch schon eine fertige Funtion besitzen.

    kommen wir nun zum Quellcode, der auf WinAPI geschrieben ist:

    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;
       
       const char szAppName[]  = "Windows Buttons";
       
       wc.cbClsExtra           = 0;
       wc.cbWndExtra           = 0;
       wc.hbrBackground        = (HBRUSH) GetStockObject(LTGRAY_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_HREDRAW | CS_VREDRAW;
       
       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 HWND hButton;
       
       switch (message)
       {
       case WM_CREATE:
          {

            hButton = CreateWindow(  "button",
                                      "Beenden",
                                      WS_CHILD | WS_VISIBLE,
                                      0, 0, 0, 0,
                                      hWnd,
                                      NULL,
                                      ((LPCREATESTRUCT) lParam) -> hInstance,
                                      NULL);
             return 0;
          }
       case WM_SIZE:
          {

             MoveWindow(hButton, LOWORD(lParam) / 2 - 80, HIWORD(lParam) - 30,
                                                               160, 22, TRUE);
             return 0;
          }

         case WM_COMMAND:
          {
             if (lParam == (LPARAM)hButton)
             {
                if (HIWORD(wParam) == BN_CLICKED)
                   SendMessage(hWnd, WM_CLOSE, 0, 0);
             }
             return 0;
          }
       case WM_DESTROY:
          {
             PostQuitMessage(0);
             return 0;
          }
       }
       return DefWindowProc(hWnd, message, wParam, lParam);
    }

    wenn ihr den debug nun startet, sehr ihr unten ein button, der der das fenster beendet, wenn man drauf klickt! falls dieses programm bei euch nicht funktionieren solte, kann das daran liegen das due WinAPI nopch nicht installiert hast oder in den projekt Eigenschaften den zeichnsatz noch nicht auf "nicht festgelegt" umgestellt hast! fagen kannst du natürlich wie immer im Forum posten!



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



    Weitere Beiträge aus dem Forum Webdesigner's

    WinAPI - Sachen kombinieren - gepostet von Snowball am Donnerstag 26.07.2007
    2. Die Werbung - gepostet von Snowball am Freitag 20.07.2007



    Ähnliche Beiträge wie "WinAPI - Windows Button einfügen"

    Wer hat noch ne Windows cd? - FlAcHmAnN (Montag 04.02.2008)
    Tips zum Umgang mit Windows Server 2003 - mcsalinux (Freitag 09.03.2007)
    Windows XP 64 - Michael Teichert (Donnerstag 16.02.2006)
    WINDOWS XP PERFEKT INSTALLIEREN - xlimited (Samstag 22.01.2005)
    Prison Break - Sheena (Mittwoch 30.04.2008)
    Windows für Ärzte - Katzenfreundin (Donnerstag 19.07.2007)
    Windows Vista Angebot: Sonderheft zum Download - Hammer (Sonntag 18.03.2007)
    Julian @ Windows Vista Lounge 25.01.07 - ChantaL <3 (Montag 29.01.2007)
    Button !! - Devildoc (Freitag 06.10.2006)
    Neues windows vista - milchmann (Donnerstag 16.03.2006)