使用插入符号的主要规则很简单:视窗讯息处理程式在WM_SETFOCUS讯息处理期间呼叫CreateCaret,在WM_KILLFOCUS讯息处理期间呼叫DestroyCaret。
这里还有几条其他规则:插入符号刚建立时是隐蔽的。如果想使插入符号可见,那么您在呼叫CreateCaret之後,视窗讯息处理程式还必须呼叫ShowCaret。另外,当视窗讯息处理程式处理一条非WM_PAINT讯息而且希望在视窗内绘制某些东西时,它必须呼叫HideCaret隐藏插入符号。在绘制完毕後,再呼叫ShowCaret显示插入符号。HideCaret的影响具有累积效果,如果多次呼叫HideCaret而不呼叫ShowCaret,那么只有呼叫ShowCaret相同次数时,才能看到插入符号。
TYPER程式
程式6-5所示的TYPER程式使用了本章讨论的所有内容,您可以认为TYPER是一个相当简单的文字编辑器。在视窗中,您可以输入字元,用游标移动键(也可以称为插入符号移动键)来移动游标(I型标),按下Escape键清除视窗的内容等。缩放视窗、改变键盘输入语言时都会清除视窗的内容。本程式没有卷动,没有文字寻找和定位功能,不能储存档案,没有拼写检查,但它确实是写作一个文字编辑器的开始。