hilfe beim hintergrund



  • pivke schrieb:

    Bitte beim nächsten mal Cpp-tag's benutzen.

    Bitte beim nächsten Mal Cpp-Tags so hinzufügen, dass die Einrückung nicht verlorengeht. Und den Apostroph weglassen 😉

    #include <windows.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 Button;
    
       switch (message)
       {
       case WM_CREATE:
          {
    
             Button1 = CreateWindow(  "button",
                                      "Ampel",
                                      WS_CHILD | WS_VISIBLE,
                                      0, 0, 0, 0,
                                      hWnd,
                                      NULL,
                                      ((LPCREATESTRUCT) lParam) -> hInstance,
                                      NULL);
    
             return 0;
          }
       case WM_SIZE:
          {
    
             MoveWindow(Button, LOWORD(lParam) / 2 - 80, HIWORD(lParam) - 30, 
                                                               160, 22, TRUE);
    
             return 0;
          }
    
       case WM_COMMAND:
          {
             if (lParam == (LPARAM)Button)
             {
                if (HIWORD(wParam) == BN_CLICKED)
                  _outp(0x378,1);
                  sleep(1400);
                  _outp(0x378,9);
                  sleep(1400);
                  _outp(0x378,13);
                  sleep(1400);
                  _outp(0x378,29);
                  sleep(1400);
                  _outp(0x378,61);
                  sleep(1400);
                  _outp(0x378,2);
                  sleep(4000);
                  _outp(0x378,0);
             }
             if (lParam == (LPARAM)Button2)
             {
                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);
    }
    


  • das hat mir sehr weitergeholfen!

    vielen dank



  • neuling1000 schrieb:

    das hat mir sehr weitergeholfen!

    vielen dank

    ironie?



  • lippoliv schrieb:

    neuling1000 schrieb:

    das hat mir sehr weitergeholfen!

    vielen dank

    ironie?

    Sarkasmus.

    Zum Thema...
    Hier ein paar Schlagwörter von Funktionen: LoadImage (), StretchBlt () bzw. BitBlt ().



  • Am besten nicht .ico sondern .bmp 🙂

    Du solltest manche Kommentare zur kenntnis nehmen!



  • Meinst du mich?



  • ich glaube er weiß es selbst nicht, wen er meint 😉 in dem ganzen thread gibts nix mit icons.. nur halt das programmicon... und da sollte man kein bitmap nehmen 😉



  • Machine schrieb:

    ich glaube er weiß es selbst nicht, wen er meint 😉 in dem ganzen thread gibts nix mit icons.. nur halt das programmicon... und da sollte man kein bitmap nehmen 😉

    ja deshalb habe ich auch nochmal nachgefragt...



  • Nein sry, das ging an neuling1000

    Ich meine Quellcode über 100 Zeilen ohne cpp-tag zu lesen macht ca. 0 sinn.

    Da fehlt mindestens die Einrückung.

    türlich weis ich nich was ich meine... Hintergrundbilder ohne BMP?
    Es geht schließlich um Hintergrundbilder...



  • lippoliv schrieb:

    Nein sry, das ging an neuling1000

    Ich meine Quellcode über 100 Zeilen ohne cpp-tag zu lesen macht ca. 0 sinn.

    Da fehlt mindestens die Einrückung.

    türlich weis ich nich was ich meine... Hintergrundbilder ohne BMP?
    Es geht schließlich um Hintergrundbilder...

    und wo hat er geschrieben, dass er nen icon als hintergrund nutzen will? 😮



  • Wieso nen Icon als Hintergrund?

    Ich wollte mal n Hintergrund machen und habs erst mit .ico versucht, weil die Transparenz können...
    Lief aber nich soo geil. 😉



  • du sprichst für mich in rätseln... aber egal...



  • Der Thread ist doch schon gelöst, nicht das er noch in den Offtopic rutscht...
    😉



  • pivke schrieb:

    Der Thread ist doch schon gelöst, nicht das er noch in den Offtopic rutscht...
    😉

    Ist er das? Es wurde die dafür benötigten Funktionen genannt, aber wenn er wirklich neu in der WinAPI-Programmierung ist, dann wird er bestimmt noch die ein oder andere Frage haben.


Anmelden zum Antworten