创建和显示插页

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

接收到键盘焦点后,窗口应该创建并显示插入符号。使用CreateCaret功能在给定窗口中创建插入符号。然后,您可以致电SetCaretPos设置插入符号的当前位置和ShowCaret以使插入符可见。

系统将WM_SETFOCUS消息发送到接收键盘焦点的窗口;因此,应用程序应在处理此消息时创建和显示插入符号。

HWND hwnd, //窗口句柄

int x; //光标的水平坐标

int y; //光标的垂直坐标

int nWidth; //光标的宽度

int nHeight; //游标高度

char *lpszChar; //指向字符的指针

case WM_SETFOCUS:

//创建一个坚实的黑色插入符号。

CreateCaret(hwnd, (HBITMAP) NULL, nWidth, nHeight);

//调整客户端坐标中的插入位置。

SetCaretPos(x, y);

//显示插入符号。

ShowCaret(hwnd);

break;

要创建基于位图的插入符号,您必须在使用CreateCaret时指定位图句柄。您可以使用图形应用程序创建位图和资源编译器,以将位图添加到应用程序的资源中。您的应用程序可以使用LoadBitmap函数来加载位图句柄。例如,您可以使用以下行替换上述示例中的CreateCaret行来创建位图插入符。

//加载应用程序定义的插入符资源。

hCaret = LoadBitmap(hinst, MAKEINTRESOURCE(120));

//创建一个位图插入符号。

CreateCaret(hwnd, hCaret, 0, 0);

或者,您可以使用CreateBitmapCreateDIBitmap功能来检索插入符位图的句柄。有关位图的更多信息,请参阅位图.

如果您的应用程序指定了位图句柄,CreateCaret将忽略width和height参数。位图定义了插入符号的大小。