鼠标点击之后,出现一个类似编辑框的矩形区域,有光标闪动。是怎么个原理?

解决方案 »

  1.   

    这样写的话,该怎么让它显示在SDI窗口之上呢? RECT rect;
    rect.left = point.x;
    rect.top = point.y;
    rect.right = rect.left + 300;
    rect.bottom = rect.top + 300;
    CEdit ctrlEdit;
    ctrlEdit.Create(WS_CHILD | WS_VISIBLE | WS_EX_TOPMOST |ES_MULTILINE, rect, this, 1);
    ctrlEdit.ShowWindow(SW_SHOW);
      

  2.   

    在WM_LBUTTONDOWN消息触发下
    动态建立一个CEdit(用new指针的方式)生成
      

  3.   

    这样写的话,该怎么修改呢? RECT rect;
    rect.left = point.x;
    rect.top = point.y;
    rect.right = rect.left + 300;
    rect.bottom = rect.top + 300;

    //ctrlEdit->Create(WS_CHILD | WS_VISIBLE | WS_EX_TOPMOST |ES_MULTILINE, rect, this, 1);
    //ctrlEdit->ShowWindow(SW_SHOW);
    m_pCtrlEdit = new CEdit();
    m_pCtrlEdit->Create(WS_CHILD | WS_VISIBLE | WS_EX_TOPMOST | ES_MULTILINE, rect, this, 1);
    m_pCtrlEdit->ShowWindow(SW_SHOW);
      

  4.   

    创建的类型里添加个WS_BORDER就可以看见位置了
    m_pCtrlEdit->Create(WS_CHILD | WS_VISIBLE | WS_BORDER | WS_EX_TOPMOST | ES_MULTILINE, rect, this, 1);
      

  5.   


    恩,对。我在WM_LBUTTOUP里delete了这个指针
      

  6.   


    UP就delete?至少也等用户输入完毕吧?逻辑你自己判断,我们就给个思路