button geht nicht



  • Hi, ich wollte in einen leeren fenster ein button machen.
    Der button erscheint aber nicht im Fenster

    #define STRICT
    #include <windows.h>
    
    LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
    
    const char szAppName[] = "FunWarSuche v0.1";
    
    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                                            PSTR szCmdLine, int iCmdShow)
    {
                                            HWND window;
                                            HWND button;
                                            MSG msg;
                                            WNDCLASS wc;
                                            wc.style = CS_HREDRAW | CS_VREDRAW;
                                            wc.lpfnWndProc = WndProc;
                                            wc.cbClsExtra  = 0;
                                            wc.cbWndExtra  = 0;
                                            wc.hInstance   = hInstance;
                                            wc.hCursor     = LoadCursor(NULL,IDC_ARROW);
                                            wc.hIcon       = LoadIcon(NULL,IDI_APPLICATION);
                                            wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+0);
                                            wc.lpszClassName = szAppName;
                                            wc.lpszMenuName  = NULL;
                                            RegisterClass(&wc);
    
    window = CreateWindow(szAppName, "Testprogramm", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL);
    button = CreateWindow("BUTTON", "Test", 0, 0, 0, 100, 50, window, NULL, hInstance, NULL);                  
    ShowWindow(window, iCmdShow);
    UpdateWindow(window);
    WNDPROC oldProc = (WNDPROC)SetClassLong(button, GCL_WNDPROC, (LONG)WndProc);
    while(GetMessage(&msg, NULL, 0, 0))
    {
                           TranslateMessage(&msg);
                           DispatchMessage(&msg);
    }
     return msg.wParam;
    }
    LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
       HDC hdc;
       PAINTSTRUCT ps;
                switch (message)
                {
                      case WM_DESTROY:
                           {
                                      PostQuitMessage(0);
                                      return 0;
                           }
                 }
    
                      return DefWindowProc(hWnd, message, wParam, lParam);
    }
    


  • ShowWindow(button, SW_SHOW);
    

    Sonst ist der Button zwar vorhanden, wird aber nicht angezeigt.

    Greetz :xmas1:



  • Button wird angezeigt.
    Aber in einen neuen fenster? wollte den butteon in den aktuellen fenster haben!



  • Mal noch was ... da das schon deine zweite Frage zu so nem einfachen Thema is: Hast du dir überlegt, was für die "FunwarSuche" alles nötig is? Internet? Das is net mehr ganz so einfach wie die Sachen hier. Nur so n Gedanke 😉

    Greetz :xmas2:



  • *grummel*
    Kannst ja mal in der MSDN unter WindowStyles nachlesen ... da dürften dich WS_VISIBLE und WS_CHILD bestimmt interessieren. Btw: die verbindet man mit einem OR (|) ^^

    Greetz



  • Hab das fenster einfach mal so genannt 😃
    Mir is kein besserer name eingefallen



  • Aso ^^

    Greetz



  • hm leider hab ich noch nichts gefunden, hat vieleicht ein anderer ne idee?



  • Du solltest als dwStyle "WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON" angeben...



  • Danke 😉
    Wollte, dass r zumindest mal kurz nachdenken muss ^^

    Greetz :xmas1:


Anmelden zum Antworten