【发布时间】:2013-07-31 04:47:04
【问题描述】:
我正在尝试让我的对话框匹配。我一直在通过谷歌,随机测试等,甚至阅读了一些无法完成的地方。
我能够做的是使用其中一条消息来设置字体和颜色,但对绘图本身却无能为力。
我认为它必须能够做到......
有人有什么想法吗?或者对此有什么了解?
【问题讨论】:
-
您的控件是否应用了
WS_EX_CLIENTEDGE样式?另外,您是使用 Visual Studio 资源编辑器还是手动创建? -
我在手工制作资源文件,并在按钮上使用了 BS_OWNERDRAW,甚至绘制了向上/向下状态。我正在使用 wxDev-CPP。 EDITTEXT IDC_TIMEINPUT, 5, 135, 160, 12, ES_CENTER//| EMS_OWNERDRAW CONTROL "Status", IDC_STATUSBAR, STATUSCLASSNAME, 0, 0, 0, 0, SBT_OWNERDRAW 是资源文件中的行。我也尝试自定义绘制状态栏,但它与“凸起边缘”的问题相同。此外,我没有在任何地方指定 WS_EX_CLIENTEDGE。感谢您的回复。
-
看起来资源脚本中的编辑控件默认设置了一些样式。如果我在 Visual Studio 中创建一个对话框并关闭边框,则代码为
EDITTEXT IDC_EDIT1,17,51,136,14,ES_AUTOHSCROLL | NOT WS_BORDER,而不是在边框设置为打开时包含WS_BORDER。 -
独立于资源文件的工作方式,如果您只需要简单的文本显示,您可以尝试使用静态文本控件而不是编辑控件和状态栏。他们绝对支持平面外观和颜色定制。自己动手也不是那么难。如果您需要全文编辑功能,那就更难了,但并不是那么难。
标签: c++ api winapi ownerdrawn