如何在win32编辑控件中使用"占位符文本"?

Col*_*len 6 winapi controls edit

看一下Stack Overflow站点的右上角.搜索框中有一些文字说"搜索".当您在其中单击时,文本消失.

我想做类似的事情 - 如果win32编辑控件是空的(即没有文本),我想在其中绘制一些文本,颜色比普通文本更柔和.如果控件有焦点,或者里面有文字,我不想画那个.

有没有办法在不将实际文本设置到控件中并更改文本颜色的情况下执行此操作?也许通过拦截控制油漆或什么?

谢谢.

Mic*_*sen 7

从XP开始它是可能的.检查EM_SETCUEBANNER消息.但是,有一些问题使它无法在XP上完全正常工作,所以如果你正在处理Vista,那就最好了.

如果您需要Win2k或更早版本,您需要自己完成,至少在这些平台上.