【问题标题】:How to get numeric updown control?如何获得数字上下控制?
【发布时间】:2021-06-02 14:54:01
【问题描述】:

我在工具箱和许多帖子中搜索过,但不知道在哪里可以找到在 MFC 上使用的此类控件:

MFC中是否存在这样的控件?

【问题讨论】:

标签: c++ mfc


【解决方案1】:

该控件在 Visual Studio 资源编辑器中称为“旋转控件”,它们通常与“好友”编辑控件相关联。您可以在其“属性”窗口的“行为”组中进行设置 - 将“自动好友”设置为“真”,它将与“最近”编辑控件相关联(实际上是 Z 顺序中的前一个控件) .您可能还希望将“Set Buddy Integer”设置为“True”。

有许多与此类控件相关的例程(例如设置/获取范围和位置的例程),并且行为被封装在CSpinButtonCtrl 类中,其中有一个good overview here


如果您更喜欢手动编辑/创建资源脚本,那么您将需要对 msctls_updown32 类的控件,该控件应立即添加到好友编辑窗口之后,如以下代码摘录所示:

IDP_OPTMD   DIALOGEX    0, 0, 262, 180
STYLE       WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_CAPTION
CAPTION     L"Dilation/Skeletonisation"
FONT        10, P_GUIFONT
{
    GROUPBOX        L"Pixel Dilation Options",      IDC_DILPG,   10,  6, 247, 99,   BS_GROUPBOX | SS_NOTIFY
    AUTOCHECKBOX    L"Enable advanced options dialogue box?",   IDC_DILEO,   17, 17, 160, 11,   BS_AUTOCHECKBOX
    LTEXT           L"Cycles =",                    IDC_DCYCS|0x8000,   190, 18, 30, 11,        SS_NOTIFY
    EDITTEXT        IDC_DCYCS,                      221, 17, 28, 12,    ES_CENTER | ES_NUMBER,  WS_EX_CLIENTEDGE
    CONTROL         1,  IDC_DCYUD,  L"msctls_updown32", UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |UDS_ARROWKEYS
                    | UDS_NOTHOUSANDS,  241, 17, 12, 10
    //...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-08
    • 1970-01-01
    • 1970-01-01
    • 2014-11-07
    • 1970-01-01
    • 2012-06-10
    • 1970-01-01
    相关资源
    最近更新 更多