NSIS,在特定单词上设置文本颜色(不是全部控件)

时间:2013-06-25 14:24:52

标签: winapi user-interface colors nsis

我试图让文本区域中的特定单词成为某种颜色。

nsDialogs::Create 1018
Pop $0

; Text area
nsDialogs::CreateControl /NOUNLOAD ${__NSD_Text_CLASS} ${DEFAULT_STYLES}|${WS_CLIPCHILDREN}|${WS_TABSTOP}|${ES_WANTRETURN}|${ES_MULTILINE} ${__NSD_Text_EXSTYLE} 5 220 660 115 ''
Pop $1
SendMessage $1 ${EM_SETREADONLY} 1 0
SetCtlColors $1 0x000000 0xFFFFFF ; Black on white

${NSD_SetText} $1 "I want only the 'click me' to be blue ->CLICK ME<-"

nsDialogs::Show

如何只用蓝色字母“点击我”?

提前感谢任何帮助或提示。

2 个答案:

答案 0 :(得分:1)

这里的问题是它仍然只有一个句柄(

  

HDC

)所有文字区域。

看一下这个样本:http://msdn.microsoft.com/en-us/library/windows/desktop/dd162491(v=vs.85).aspx;

  

的TextOut

...方法

所以,我真的怀疑你有没有更好的无hasle(包括额外的插件)选项,而不仅仅是使用另一个文本控件(将一个文本控件拆分为三个文本控件)。

也许安德斯在幕后得到了一些技巧...... :)

答案 1 :(得分:0)

一个选项是一个标签在另一个上面,另一个是使用RTF内容的RichEdit控件......