如何把几个MFC控件组合在一起

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何把几个MFC控件组合在一起相关的知识,希望对你有一定的参考价值。

参考技术A 首先在第一张图片上 右键----设置图片格式-----版式---衬于文字下方----确定 然后在第二张图片上 右键----设置图片格式-----版式---衬于文字下方----确定 然后选取图片 首先 点第一张图片 然后 按住---ctrl 键 点击第二张图片 松开ctrl 键 然后在图片上 右键----组合---组合 完成---- 参考技术B 从CWnd派生一个子类,在子类OnCreate函数中动态创建你的5个按钮。

CComboBox MFC 控件出现问题

【中文标题】CComboBox MFC 控件出现问题【英文标题】:Getting issue with CComboBox MFC control 【发布时间】:2013-02-01 09:07:08 【问题描述】:

我在 MFC 中有一个带有下拉属性的组合框。

当我打开一个包含此组合框的对话框时,该组合框中的文本会突出显示。当我点击它时,就在这个组合框的编辑字段中的最后一个字符旁边,假设我插入了一个字符 C,它写在末尾,但光标移动到开头。

这种情况只发生过一次,如果我将光标移动到结束并开始写入,一切正常。

当焦点丢失时,再次编辑它会导致上述问题。

在代码中也没有对此控件进行任何特殊处理。

我不明白,为什么会这样?

任何建议或建议都会有所帮助。

谢谢

【问题讨论】:

MESSAGE_MAP 对组合框控件 id 有什么影响? 它的id是“8002”,只处理一条消息“ON_CBN_SELCHANGE” 是所有者抽奖组合吗? 不,它不是 ownerdraw 类型 【参考方案1】:

您可以在组合框的 ON_CBN_EDITUPDATE 处理程序中尝试此操作-

DWORD dwSel =  m_mycombo.GetEditSel();
// Only do this if no characters are selected
if( LOWORD( dwSel ) != LOWORD( dwSel ) ) return;

// code you have added handler for

m_mycombo.SetEditSel( LOWORD( dwSel ), LOWORD( dwSel ) );

【讨论】:

以上是关于如何把几个MFC控件组合在一起的主要内容,如果未能解决你的问题,请参考以下文章

mfc 窗口大小变化时,如何让窗口内部控件也一起随比例改变位置?

如何增加mfc中组合框控件的高度?

在MFC界面设计中,如何让若干个控件成为一体,或成为一个组框的一部分,编辑时可以整体移动

MFC的组合框(ComboBox)控件切换下拉样式

如何在 MFC 工具栏中添加自定义控件

MFC组合框控件下拉列表式如何读取所选值和设置默认选项