Wyświetlanie przycisku

0

Chciałbym zadać bardzo proste pytanie odnośnie kodu:

#include <windows.h>
  
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpsCmdLine, int nMode)
{
         //uchwyt okna
         HWND hOkno;
         //struktura komunikatów
         MSG message;
         //klasa okna
         WNDCLASS okno;
  
         //uchwyt instancji
         okno.hInstance = hInstance;
         //nazwa klasy okna
         okno.lpszClassName = "klasa główna";
         //standardowa procedura okna
         okno.lpfnWndProc = DefWindowProc;
         //brak menu
         okno.lpszMenuName = NULL;
         //standardowe okno
         okno.style = 0;
         //standardowa ikona
         okno.hIcon = LoadIcon (NULL, IDI_WINLOGO);
         //standardowy kursor
         okno.hCursor = LoadCursor (NULL, IDC_ARROW);
         //czarny kolor
         okno.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH);
         //brak przydziału dodatkowej pamieci dla klasy okna
         okno.cbClsExtra = 0;
         //brak przydziału dodatkowej pamieci okna
         okno.cbWndExtra = 0;
         //rejestracja klasy okna
         
                       if(!RegisterClass (&okno)) return 0;
                       //utworzenie okna
                       
                       hOkno = CreateWindow 
                           ("klasa główna", "okno",
                           WS_OVERLAPPEDWINDOW, 100,100,500,500,
                           NULL, NULL, hInstance, NULL);
                           
                       HWND hButton;
                            hButton = CreateWindow ("button", "zwykły przycisk",
                            WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON,
                            10, 10, 120, 20,
                            hOkno, NULL, hInstance, NULL);
                            
                       HWND hButton1;
                            hButton1 = CreateWindow ("przycisk", "przycisk",
                            WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON,
                            10, 80, 120, 20,
                            hOkno, NULL, hInstance, NULL);     

                           
         //wyświetlenie okna na ekranie
         ShowWindow (hOkno, SW_SHOW);
  
    while (GetMessage (&message, NULL, 0, 0))
      {
      DispatchMessage (&message);
      }
}

Dlaczego zostaje wyświetlony tylko jeden przycisk skoro zadeklarowane są dwa? Jeśli ktoś widzi błąd to bardzo proszę o pomoc</cpp>

0

hButton = CreateWindow ("button", "zwykły przycisk",
...
hButton1 = CreateWindow ("przycisk", "przycisk",

Widzisz różnicę w klasie okna?

0

No jesli chodzi ci o hbutton to przeciez musi byc inne bo kompilator nie przyjmnie takiej samej nazwy, jesli sie myle to popraw, ja dopiero staram sie to powoli zrozumiec wiec nie miej do mnie zalu jesli mnie nie bedziesz "rozumiec" :)

0

Nie mówiłem o zmiennej tylko o klasie okna - pierwszy argument CreateWindow, co tam "przycisk" robi? Powinno być "button", jak w przypadku pierwszego.

0

Tylko to nadal nic nie daje :(

Edytowane///
O przepraszam oczywiscie moj blad, nie zmienilem wspolrzednych i okna sie pokrywaly, dziekuje za rady, temat do zamkniecia

0

Jeszcze jedno pytanie na szybko bo bardzo mnie irytuje

Gdy skompiluje moj program w Dev C++ fajnie sie otwiera ale gdy go zamkne nie moge go ponownie skompilowac bo wprowadzeniu zmian, dopiero gdy wylacze proces projekt1.exe w procesach sytemowych moge ponownie kompilowac program.

Jednym slowem proces mojego projektu nie zamyka sie po zamknieciu programu, wiecie moze co na to poradzic?

1 użytkowników online, w tym zalogowanych: 0, gości: 1