MFC中如何向列表控件中嵌入单选按钮radio控件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC中如何向列表控件中嵌入单选按钮radio控件相关的知识,希望对你有一定的参考价值。

就是列表效果中第一列全是radio控件,怎么弄,求帮助。。。

参考技术A

你试试附件这个MFC的CListCtrl。自带radio、进度条、图片等等。

本回答被提问者采纳

在MFC中如何在拆分按钮控件的BCN_DROPDOWN事件上显示列表框

【中文标题】在MFC中如何在拆分按钮控件的BCN_DROPDOWN事件上显示列表框【英文标题】:In MFC how to display list box on the BCN_DROPDOWN event of split button control 【发布时间】:2018-10-31 12:38:43 【问题描述】:

我正在使用 VS2008。

我有基于 MFC 对话框的应用程序,带有拆分按钮控件。

我想在拆分按钮控件的 BCN_DROPDOWN 事件上显示一个列表框。不知道怎么实现?

【问题讨论】:

要么在你的按钮控件处理程序中创建一个列表框控件,要么显示列表框,如果它已经存在的话。你有什么困难? 再想一想,您真正想解决什么问题,您提出的解决方案是重新实现拆分按钮功能? 【参考方案1】:

参考CSplitButton类的文档:https://msdn.microsoft.com/en-us/library/bb514109.aspx

如果您想更改默认行为,请使用覆盖:

BEGIN_MESSAGE_MAP(CMySplitButton,
    CSplitButton)  
    ON_NOTIFY_REFLECT(BCN_DROPDOWN, &CMySplitButton::OnDropDown)  
END_MESSAGE_MAP()  

(...)

afx_msg void OnDropDown(NMHDR* pNMHDR, LRESULT* pResult);

您可以在此功能中显示您的列表框或任何您喜欢的内容。

如果您引用文档中显示的实际子菜单 (3) 的列表框,则添加一个菜单:https://msdn.microsoft.com/en-us/library/4b6tafew.aspx 并将该菜单的资源 ID 设置为 SetDropDownMenu() 函数

void SetDropDownMenu(
    UINT nMenuId,   
    UINT nSubMenuId); 

祝你好运:)

【讨论】:

【参考方案2】:

    您必须将菜单添加到资源中。 例如:IDR_MENU_BUTTON_ANY

    为子菜单声明一些资源符号。它将更改 *.rc 和 resource.h。

您的资源将如下所示:

IDR_MENU_BUTTON_ANY
BEGIN
    POPUP "SampleMenu"
    BEGIN
        MENUITEM "Sub1",                        ID_SUB_MENU_1
        MENUITEM "Sub2",                        ID_SUB_MENU_2
    END
END

当您初始化对话框时。您应该插入一些代码,如下所示:

//Your split button
CMFCSplitButton m_btnAny;

//Set dropdown menu
m_btnAny.SetDropDownMenu(IDR_MENU_BUTTON_ANY, 0);

更多,我找到了以下链接。作者举了一个例子。它可能会帮助你。 http://codexpert.ro/blog/2013/02/01/split-button-control/#comment-22983

【讨论】:

以上是关于MFC中如何向列表控件中嵌入单选按钮radio控件的主要内容,如果未能解决你的问题,请参考以下文章

html中<radio>单选按钮控件标签用法解析及如何设置默认选中

html中<radio>单选按钮控件标签用法解析及如何设置默认选中

MFC中DLALOG下的RADIO控件怎么达成4选一

mfc 作业day002

在一组单选按钮中怎样设置默认选项呢/在哪里设置呢?

使用easyui框架form控件,单选按钮radio或复选框checkbox样式问题