我正在尝试在MFC中创建一个搜索编辑控件,该控件始终在控件窗口中显示一个图标(无论控件的状态和文本如何)。很多年前我写过类似的东西并且工作得很好,但代码不再适用于Windows7和更新版本(甚至可能是Vista,但没有尝试过)。发生的情况是控件中显示的图像与输入区域重叠(见下图)。代码背后的想法:有一个派生自CEdit的类(处理OnPaint中的绘画)右侧显示图标,编辑区域根据图标大小缩小调整大小对单行和多行编辑是不同的。对于单行,我调用SetMargins对于多行编辑,我调用SetRect.此编辑调整大小应用于PreSubclassWindow()、OnSize()和OnSetFon