gpt4 book ai didi

c++ - MFC RIbbon - 同一面板上的多个 CMFCRibbonComboBox,响应对任何 onComboBox 执行的选择项操作

转载 作者:行者123 更新时间:2023-11-28 08:06:26 25 4
gpt4 key购买 nike

我在功能区的同一个面板上有 2 个 CMFCRibbonComboBox- 例如:

CMFCRibbonComboBox *individualComputers = 
new CMFCRibbonComboBox(-1,FALSE, 100, "Individual Computers", -1);

individualComputers->AddItem("Computer 1");
individualComputers->AddItem("Computer 2");
individualComputers->AddItem("Computer 3");
individualComputers->SelectItem(0);

CMFCRibbonComboBox * groupNames =
new CMFCRibbonComboBox (-1, FALSE, 100, "Computer Group Names", -1);

groupNames->AddItem("GROUP 1");
groupNames->AddItem("GROUP 2");
groupNames->AddItem("GROUP 3");
groupNames->SelectItem(0);

CMFCRibbonPanel* pComputerGroups = cComputerGroups->AddPanel("All Groups");
//cComputerGroups is a Category

pComputerGroups->Add(individualComputers);
pComputerGroups->Add(groupNames);

问题是,当我从 UI(用户界面)的 groupNames 组合框中选择“Group 1”时,甚至从组 individualComputers 中选择了“Computer 1”。如何使每个组合框组彼此独立?谢谢。

最佳答案

我怀疑您不想将组合框添加到自身 individualComputers->Add(individualComputers); 应该是 pComputerGroups->Add(individualComputers);/p>

否则,您的错误可能出在您的命令或未显示的 updateUI 处理代码的其他地方。这很可能是因为您使用相同的 ID -1 来标识两个组合框。

此外,CMFCRibbonComboBox 没有重载构造函数,它需要额外的两个参数,如您为 groupNames 所示。

将来请显示实际代码 SSCCE

编辑:将以前 Unresolved 评论加粗,因为它很可能是您剩下的问题。考虑使用 const UINT CB_COMP_ID = 1;const UINT CB_GROUP_ID = 2; 然后您可以使用 CB_COMP_ID 分别引用每个组合框消息映射等中的 CB_GROUP_ID

关于c++ - MFC RIbbon - 同一面板上的多个 CMFCRibbonComboBox,响应对任何 onComboBox 执行的选择项操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10216416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com