如何使用MFC在对话框上多行显示单选控件

3

我的对话框上有三个单选按钮:

enter image description here

这些单选按钮是否可以转换为多行显示?

请忽略其他控件的重叠,因为它们只在运行时正确显示。

我只想换行三个单选按钮的文本,如果可能的话。

这是在MFC对话框上实现的。


2
我真的很惊讶你竟然不知道这个。不过这是一个经常被问到的问题。 - Jabberwocky
@Jabberwocky 我使用无线电控制器已经有20年了。我知道它们可以被更改为看起来像按钮,但我从未意识到它们可以毫不费力地变成多行文本框。我在脑海中把它复杂化了,以至于没有看到那个一直在我眼前的基本解决方案! :) - Andrew Truckle
1个回答

4
这些单选按钮能否转换成多行显示? 是的!如果您正在使用资源编辑器,则选择问题中的单选按钮,在“属性”窗格中,将“多行”条件(在“外观”组中)设置为True
如果您手动编辑资源脚本,则将BS_MULTILINE样式添加到控件中。
以下屏幕截图来自Visual Studio 2010,但我认为在VS 2019中UI非常相似: enter image description here 以下为上述对话框的资源脚本,显示了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

感谢您详细的回答。一旦我有机会上电脑,我会尝试并点击接受按钮。 :) - Andrew Truckle

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接