2 dumme Fragen zu CreateWindowEx



  • 1. Frage:

    radio_1 = CreateWindowEx(NULL, "BUTTON", "Test", WS_CHILD | BS_AUTORADIOBUTTON | WS_VISIBLE, 166, 312, 150, 25, hDlg, NULL, NULL , NULL);
    

    Warum ist der so Erschaffenen Radio-Button unbeschriftet? Beim STATIC eine Zeile drüber funktioniert es ... 🙄

    2. Frage:

    text = CreateWindowEx(NULL, "STATIC", "TEXT: ", WS_CHILD | SWP_HIDEWINDOW  , 16, 312, 150, 25, hDlg, NULL, NULL , NULL);
    

    Ok, hier das schon angesprochene STATIC. Der Text erscheint hier 😃 , allerding in einer völlig anderen Schriftart als die im Dialog-editor konstruierten STATICS. Das ist unschön.
    a) Warum ist das so?
    b) Gibt es irgendeine Möglichkeit die Schriftart einzustellen?

    Vielen Dank!



  • zu 1: sind radiobuttons nicht klasse Static?
    zu 2: welche schriftart kriegst du?



    1. a) weils so eingestellt ist, mit der schriftart
      b) ja kann man:
    SendMessage(hStatic, WM_SETFONT, GetStockObject(DEFAULT_GUI_FONT), TRUE);
    

    So gings glaub ich.



  • dialoge benutzen standardmäßig MS Sans Serif als Schrift. Wenn du die auch haben willst musst du sie schon selbst per SelectObject() im Gerätekontext auswählen.



  • 1:

    WS_CHILD | BS_AUTORADIOBUTTON | BS_LEFT | WS_VISIBLE
    

    2:
    WM_SETFONT (wurde bereits drauf hingewissen)



  • @ freaked: Yip, genauso klappt es ... naja, bis auf das es (WPARAM)GetStockObject(DEFAULT_GUI_FONT) heißen muss, so schimpft der Compiler 😉 Danke. 👍

    RadioButten klappen jetzt auch. War nicht ganz der richtige Code. Es hieß WS_VISIBLE | SWP_HIDEWINDOW Um den Button gleich wieder zu verstecken und später wieder hervorzuzaubern. Dann kam er ohne Text aus der Versenkung. Jetzt bekommt CreateWindowEx nur WS_VISIBLE. Dann wird der Button mit SetWindowpos und SWP_HIDEWINDOW versteckt. Später wieder sichtbar gemacht und dann ist überraschenderweise auch der Text da. 😕
    Danke für die Hinweise 👍


Anmelden zum Antworten