隐藏关卡

【勇芳软件工作室】汉化HomePreviousNext

每当您的应用程序在处理WM_PAINT之外的消息时重绘屏幕时,必须使用HideCaret功能使插入符号不可见。当您的应用程序完成绘图时,使用ShowCaret功能重新显示插入符号。如果您的应用程序处理WM_PAINT消息,则不需要隐藏和重新显示插入符,因为此函数会自动执行此操作。

以下代码示例显示了如何在屏幕上绘制字符以及处理WM_CHAR消息时将应用程序隐藏插入符号。

HWND hwnd, //窗口句柄

HDC hdc; //设备上下文

case WM_CHAR:

开关(wParam)

{

case 0x08:

.

. //处理退格

.

break;

case 0x09:

.

. //处理选项卡

.

break;

case 0x0D:

.

. //处理回车。

.

break;

case 0x1B:

.

. //处理转义。

.

break;

case 0x0A:

.

. //处理换行符

.

break;

默认:

//隐藏插入符号。

HideCaret(hwnd);

//在屏幕上绘制字符

hdc = GetDC(hwnd);

SelectObject(hdc,

GetStockObject(SYSTEM_FIXED_FONT));

TextOut(hdc, x, y, lpszChar, 1);

ReleaseDC(hwnd, hdc);

//显示插入符号。

ShowCaret(hwnd);

}

如果您的应用程序多次调用HideCaret函数,而不调用ShowCaret,则在应用程序也调用ShowCaret相同次数之前,插入符号将不会显示。