作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有对话框的 C++ MFC 应用程序,我想在其中根据组合框中的选择动态更改控件的类型。对话框资源以一个普通的旧编辑控件开始,然后我调用 SubclassDlgItem 以更改为自定义控件类型。
到目前为止一切顺利。现在,当用户在屏幕上的不同组合框中更改选择时,我想将此控件更改为不同的自定义类型。因此,我通过在指向该控件的自定义类的指针上调用 delete 来销毁现有控件。然后我调用::CreateEx 重新创建我的编辑控件并再次调用 SubclassDlgItem 以创建新的自定义控件。
我的问题是这会闪烁很多,我想我正在使用::CreateEx 在我的自定义控件之上创建编辑控件。关于如何消除闪烁的任何想法,尤其是当用户快速更改控制组合框的内容时?
最佳答案
您可以在父窗口的同一区域创建一组所有可能的控件,并仅显示相关的控件并隐藏所有其他控件。当用户导致控件更改时,您将隐藏事件控件并显示新的相关控件。这应该看起来更平滑。
关于c++ - 使用 SubclassDlgItem 改变控件类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/828000/
我有一个带有对话框的 C++ MFC 应用程序,我想在其中根据组合框中的选择动态更改控件的类型。对话框资源以一个普通的旧编辑控件开始,然后我调用 SubclassDlgItem 以更改为自定义控件类型
我是一名优秀的程序员,十分优秀!