如何使用 MFC 对对话框进行多行无线电控制

How to multiline radio controls on dialog using MFC

我的对话框中有三个单选选项:

是否可以将这些单选选项转换为多行?

忽略其他似乎重叠的控件,因为它们仅在 运行 时间正确可见。

这只是三个单选选项,如果可能的话我想自动换行。

这是在 MFC 对话框上。

Is it possible to turn these radio options in to multiline?

是的!如果您使用的是资源编辑器,则 select 有问题的 radio-button 并在“属性”窗格中将“多行”条件(在“外观”组中)设置为 .

如果您手动编辑资源脚本,请将 BS_MULTILINE 样式添加到控件。

以下截图来自 Visual Studio 2010,但 UI 在 VS 2019 中非常相似,IIRC:

这里是资源脚本,对于上面的对话框,展示了BS_MULTILINE风格的使用:

IDD_ABOUTBOX DIALOGEX 0, 0, 258, 132
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "About AppWizDog"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
    ICON            IDR_MAINFRAME, IDC_STATIC, 14,14,20,20
    LTEXT           "AppWizDog, Version 1.0",IDC_STATIC, 42,14,114,8, SS_NOPREFIX
    LTEXT           "Copyright (C) 2014", IDC_STATIC, 42,26,114,8
    DEFPUSHBUTTON   "OK", IDOK, 201,111,50,14, WS_GROUP
    CONTROL         "This is a long caption text", IDC_RADIO1, "Button",
                     BS_AUTORADIOBUTTON | BS_MULTILINE, 7,52,62,22
END