zoukankan      html  css  js  c++  java
  • 键盘事件响应

     

    1、创建基于单文档工程:KeyInput

    2、在CKeyInputView中添加成员函数:

    public:

    bool m_bShiftDown;

    CPoint m_ptCharacter;

    3、CKeyInputView()中初始化:

    m_bShiftDown = ture;

    m_ptCharacter.x = 0;

    m_ptCharacter.y = 0;

    4、CKeyInputView()中添加消息响应函数:

    WM_KEYDOWN  、 WM_CHAR  、WM_SETFOCUS

    5、OnKeyDown中:

    if(nChar == VK_SHIFT)

    {

        m_bShiftDown = m_bShiftDown ? false:ture;

    }

    6、OnSetFocus中:

    CreateSolidCaret(3,18);//建立光标

        SetCaretPos(m_ptCharacter);//设定光标位置

        ShowCaret();//显示光标

    7、OnChar中:

    if(m_bShiftDown)

        {

           if(nChar == 13)//回车

           {

               m_ptCharacter.x = 0;

               m_ptCharacter.y += 25;

               SetCaretPos(m_ptCharacter);

               ShowCaret();

           }else{

               CClientDC dc(this);

               HideCaret();

               dc.TextOut(m_ptCharacter.x,m_ptCharacter.y,

    (LPCTSTR)&nChar);

               CSize textsize;

               textsize = dc.GetTextExtent((LPCTSTR)&nChar);

               m_ptCharacter.x += textsize.cx;

               SetCaretPos(m_ptCharacter);

               ShowCaret();

           }

        }

    注:

    GetDlgItem(IDC_INPUT)->SetWindowText(“模拟输入”);

    GetDlgItem(IDC_INPUT)->SetWindowText(“停止输入”);

    SetTimer(1,500,NULL);

    OnTimer(){}

  • 相关阅读:
    一个完整的AjaxPro例子(转)
    sql2000存储过程
    System.Configuration命名空间下找不到ConfigurationManager类
    编译器错误信息: CS0016
    (转)AjaxPro使用说明
    数据库中去逗号的函数
    asp.net 验证码
    sql2005存储过程
    简单控件分页
    身份证号码验证
  • 原文地址:https://www.cnblogs.com/lxshanye/p/3088584.html
Copyright © 2011-2022 走看看