Windows学习笔记13——键盘相关<二>

1、Windows向窗口过程发送的共8种键盘消息:WM_KEYDOWN、WM_KEYUP、WM_CHAR、WM_DEADCHAR、WM_SYSKEYDOWN、WM_SYSKEYUP、WM_SYSCHAR、WM_SYSDEADCHAR。

2、插入符号:

       <1>主要有下列插入符号函数:

       *CreateCaret:建立与窗口有关的插入符号;

       *SetCaretPos:在窗口中设定插入符号的位置;

       *ShowCaret:显示插入符号;

       *HideCaret:隐藏插入符号;

       *DestroyCaret:撤销插入符号;

       **GetCaretPos:取得插入符号的当前位置;

       ** GetCaretBlinkTime:取得插入符号的闪烁时间;

       ** SetCaretBlinkTime:设定插入符号的闪烁时间;

      <2>、使用插入符号的主要规则:窗口过程在WM_SETFOCUS消息处理期间呼叫CreateCaret函数,在WM_KILLFOCUS消息期间乎呼叫DestroyCaret函数;

       另外:插入符号刚创建时是隐藏的,显示需要ShowCaret;

                  HideCaret具有累积效应,如果多次调用HideCaret函数,要想看到插入符号,就要多次调用ShowCaret。

           注意:在非 WM_PAINT 讯息处理期间,如果要在视窗中绘制内容, 则应该先隐蔽游标。

3、关于书中的简单文本编辑程序

      *此程序不支持东方输入法

      *当用户切换输入法时,窗口过程会收到WM_INPUTLANGCHANGE消息,关于此消息的更多信息,参看http://blog.csdn.net/zyl910/article/details/837610 和http://msdn.microsoft.com/zh-cn/goglobal/bb688135.aspx

      *关于插入符的使用:

      例如:case WM_SETFOCUS:
                         CreateCaret(hWnd, NULL, 4, cyChar);
                         ShowCaret(hWnd);
                         break;
                 case WM_KILLFOCUS:
                        HideCaret(hWnd);
                        DestroyCaret();
                        break;

你可能感兴趣的:(Windows学习笔记13——键盘相关<二>)