【发布时间】:2015-06-27 19:58:39
【问题描述】:
假设我在基于 MFC 的对话窗口中有默认的 EDIT common control:
我正在寻找一种在其中添加小“X”(或删除)按钮的方法(这是我需要的 Photoshop 渲染图):
有没有办法通过修改默认的编辑控件来做到这一点?
【问题讨论】:
-
右边的那个按钮真的是上面提到的EDIT公共控件的一部分吗?您可以使用所有者绘图来实现您想要的。
-
@πάνταῥεῖ:我正在考虑以某种方式使用另一种常用控件,即 Button。所有者绘图的问题是......好吧,我自己绘制所有内容。这显然涉及视觉样式和主题等。使用已经定义的按钮,如果我能以某种方式将其显示在编辑控件的顶部,我可以消除所有这些,使 Edit ctrl 不绘制按钮所在的位置并限制右侧边缘按钮之前的编辑。
-
Insert buttons into an edit control 基本上就是你要找的东西。实质上,您将标准 Edit 控件子类化,并将标准 Button 控件放置在其非客户区中。只要你正确地subclass your control 你应该很高兴。
-
恐怕像从其他控件元素组合的 UserControl 这样的东西本身不适用于 MFC,除非您使用 OLE、COM (ATL) 或 IIRC 等技术。
-
@IInspectable:谢谢。这就是我一直在寻找的。这并不像我想象的那么简单,但听起来是可行的。
标签: c++ windows winapi mfc gdi