BringWindowToTop在ActiveX控件中不起作用
BringWindowToTop is not working in the ActiveX control
我设计了activeX控件,它由一个编辑框和一个组合框组成。
我试图将编辑框放在组合框上,这样每当用户从组合框中选择任何项目时,它都应该放在编辑框中。因此,我的编辑框应该覆盖组合框的编辑部分,并且只有箭头按钮对组合框可见。
Isuue:每当我试图将鼠标光标移到该控件上时,组合框就会出现在编辑框前面。我做了这样的设计,比如editbox只是掩盖了组合框,但只有当焦点回到组合框时,它才占据了组合框的前面。
尝试的方法:在我定义的一个函数中,我尝试了下面所有的函数来在组合框上制作编辑框。
1) 将窗口置于顶部
2) 设置前景窗口
3) 设置窗口位置
我的代码:
void DetermineWindowsShown()
{
m_edit.EnableWindow(m_bEnabled);
m_combo.EnableWindow(m_bEnabled);
//here only I tried all the diff function
m_edit.BringWindowToTop();
//m_edit.SetForegroundWindow();
//m_combo.SetWindowPos(&CWnd::wndBottom ,0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
}.
我在很多地方调用DetermineWindowsShown,所以编辑框总是在组合框上方。
BringWindowToTop
通常用于MDI窗口。SetForegroundWindow
用于主窗口。
您应该能够使用SetWindowPos
,并将其应用于两者,而不仅仅是一个:
m_combo.SetWindowPos(&CWnd::wndBottom, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
m_edit.SetWindowPos(&CWnd::wndTop, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
相关文章:
- 我的神经网络不起作用 [XOR 问题]
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- C++映射:具有自定义类的运算符[]不起作用(总是返回0)
- C++为什么尽管我调用了void函数,它却不起作用
- 为什么在保护模式下继承升级不起作用
- 循环在计数器中不起作用
- 在其他文件中创建类时在 c++ 项目中不起作用
- Visual studio代码重构似乎不起作用(例如,重命名符号-f2)
- 为什么二进制搜索在我的测试中不起作用
- 我的代码中有错误吗?使用BGI图形的C++代码对我不起作用
- 为什么 const std::p air<K,V>& 在 std::map 上基于范围的 for 循环不起作用?
- 带有指定长度字符* 参数的 std::regex_search 在 VS2017 中不起作用?
- Bjarne Stroustrup Book - std_lib_facilities.h - 不起作用(未知类型名称)
- 为什么简单的算术减法在"if"条件下不起作用?
- 在 MFC 中,当 CEdit 控件达到最大字符数时,退格键不起作用
- Tab 键在子控件中不起作用
- 而用于加载文件的循环不起作用
- 在调试模式下编译时,丰富的编辑控件格式不起作用
- 特定对话框控件的MFC SetFont不起作用
- BringWindowToTop在ActiveX控件中不起作用