From e77771c0bfd5af1e8e554d67b0d542fe639354c7 Mon Sep 17 00:00:00 2001 From: Huw Davies Date: Fri, 5 May 2017 12:36:20 +0100 Subject: [PATCH] comdlg32: Set the radiobuttons' font if they're part of a visual group. Signed-off-by: Huw Davies Signed-off-by: Alexandre Julliard --- dlls/comdlg32/itemdlg.c | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/dlls/comdlg32/itemdlg.c b/dlls/comdlg32/itemdlg.c index bb1e44ad0b9..92499e6faab 100644 --- a/dlls/comdlg32/itemdlg.c +++ b/dlls/comdlg32/itemdlg.c @@ -1316,13 +1316,34 @@ static UINT ctrl_container_resize(FileDialogImpl *This, UINT container_width) return container_height; } +static void ctrl_set_font(customctrl *ctrl, HFONT font) +{ + customctrl *sub_ctrl; + cctrl_item* item; + + SendMessageW(ctrl->hwnd, WM_SETFONT, (WPARAM)font, TRUE); + + LIST_FOR_EACH_ENTRY(sub_ctrl, &ctrl->sub_cctrls, customctrl, sub_cctrls_entry) + { + ctrl_set_font(sub_ctrl, font); + } + + if (ctrl->type == IDLG_CCTRL_RADIOBUTTONLIST) + { + LIST_FOR_EACH_ENTRY(item, &ctrl->sub_items, cctrl_item, entry) + { + SendMessageW(item->hwnd, WM_SETFONT, (WPARAM)font, TRUE); + } + } +} + static void ctrl_container_reparent(FileDialogImpl *This, HWND parent) { LONG wndstyle; if(parent) { - customctrl *ctrl, *sub_ctrl; + customctrl *ctrl; HFONT font; wndstyle = GetWindowLongW(This->cctrls_hwnd, GWL_STYLE); @@ -1340,23 +1361,7 @@ static void ctrl_container_reparent(FileDialogImpl *This, HWND parent) LIST_FOR_EACH_ENTRY(ctrl, &This->cctrls, customctrl, entry) { - if(font) SendMessageW(ctrl->hwnd, WM_SETFONT, (WPARAM)font, TRUE); - - /* If this is a VisualGroup */ - LIST_FOR_EACH_ENTRY(sub_ctrl, &ctrl->sub_cctrls, customctrl, sub_cctrls_entry) - { - if(font) SendMessageW(sub_ctrl->hwnd, WM_SETFONT, (WPARAM)font, TRUE); - } - - if (ctrl->type == IDLG_CCTRL_RADIOBUTTONLIST) - { - cctrl_item* item; - LIST_FOR_EACH_ENTRY(item, &ctrl->sub_items, cctrl_item, entry) - { - if (font) SendMessageW(item->hwnd, WM_SETFONT, (WPARAM)font, TRUE); - } - } - + if(font) ctrl_set_font(ctrl, font); customctrl_resize(This, ctrl); } } -- 2.11.4.GIT