ListBox soll Font der DialogBox übernehmen



  • Hallo!

    Ich habe ein Programm das DialogBox based ist. Ich erstelle nun eine ListBox als Child in diesem Dialog.

    DWORD dwStyle = LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | LBS_NOSEL | WS_VSCROLL | WS_TABSTOP | WS_VISIBLE | WS_CHILD;
    
    CreateWindowEx(WS_EX_CLIENTEDGE, "LISTBOX", "", dwStyle, 22, 413, 640, 170, hDlg, NULL, NULL, NULL);
    

    Ich kann sie leider nicht in das Template der DialogBox aufnehmen, da sie immer wieder destroyed und neu aufgebaut werden muss.
    Denoch möchte ich, dass die ListBox den gleichen Font hat wie die Dialogbox (aus .rsc):
    FONT 8, "Microsoft Sans Serif", 400, 0, 0x0

    Wie bekomm ich das hin?
    So wie es jetzt ist, hat die Listbox den SystemFont. WS_EX_NOINHERITLAYOUT ist auch nicht gegeben, also sollte doch die ListBox einfach den Font vom parent übernehmen. Aber anscheinend macht es das bei mir nicht.
    Hilft etwa WM_SETFONT? Aber ich hab ja gar kein Handle zu dem Font.

    Mit Fonts kenn ich mich nicht aus, deshalb wäre ich für ein paar Sourcezeilen sehr dankbar!

    atzplzw



  • HFONT hFont = (HFONT)SendMessage(hDlg, WM_GETFONT, 0, 0);
    SendMessage(hWndListBox, WM_SETFONT, (WPARAM)hFont, MAKELPARAM(TRUE, 0));
    


  • DANKE!!!

    Funktioniert tadellos!!!

    🙂 🙂
    👍

    atzplzw


Anmelden zum Antworten