如何为 Delphi 编写蓝色文本,一旦您开始输入,该文本就会立即删除
How do I write blue text for Delphi that deletes as soon as you start typing
我需要在编辑中写上蓝色文本,以便在我开始输入时它会立即删除运行。
请你帮我看看它是如何工作的。这是 Delphi 2007
提前致谢
出乎我的意料,未经测试:
- 使用标准的 TEdit。
- 将布尔变量(标志)设置为 TRUE。
- 在 TEdit 中写蓝色文本。
- 将编辑光标设置在第一个位置
- 在 OnKeyDown 中,如果标志为真则将标志设置为假并删除编辑中的文本
你的问题有点模棱两可。它可以用几种不同的方式来解释。
您可以 select 当前文本,以便后续用户输入将替换 selection。如果您希望在 TEdit
没有输入焦点时突出显示可见,您可以在标准 TEdit
using its SelStart
/SelLength
properties, AutoSelect
property, or SelectAll()
method. You might also consider setting its HideSelection
属性 中执行此操作。
或者,您可能会想到“提示横幅”,这是 XP 中引入的一项功能,用于在编辑控件内显示不包含实际文本的提示文本。您可以通过在您的应用程序中发送一个 EM_SETCUEBANNER
window message via the Win32 API SendMessage()
function or Edit_SetCueBannerText()
macro (in Delphi 2009 and later, TEdit
has a TextHint
property for this purpose). Note that you need to enable Visual Styles 来在标准 TEdit
中设置此提示文本,以使此功能起作用。
我需要在编辑中写上蓝色文本,以便在我开始输入时它会立即删除运行。 请你帮我看看它是如何工作的。这是 Delphi 2007
提前致谢
出乎我的意料,未经测试:
- 使用标准的 TEdit。
- 将布尔变量(标志)设置为 TRUE。
- 在 TEdit 中写蓝色文本。
- 将编辑光标设置在第一个位置
- 在 OnKeyDown 中,如果标志为真则将标志设置为假并删除编辑中的文本
你的问题有点模棱两可。它可以用几种不同的方式来解释。
您可以 select 当前文本,以便后续用户输入将替换 selection。如果您希望在 TEdit
没有输入焦点时突出显示可见,您可以在标准 TEdit
using its SelStart
/SelLength
properties, AutoSelect
property, or SelectAll()
method. You might also consider setting its HideSelection
属性 中执行此操作。
或者,您可能会想到“提示横幅”,这是 XP 中引入的一项功能,用于在编辑控件内显示不包含实际文本的提示文本。您可以通过在您的应用程序中发送一个 EM_SETCUEBANNER
window message via the Win32 API SendMessage()
function or Edit_SetCueBannerText()
macro (in Delphi 2009 and later, TEdit
has a TextHint
property for this purpose). Note that you need to enable Visual Styles 来在标准 TEdit
中设置此提示文本,以使此功能起作用。