精华内容
下载资源
问答
  • 获取光标的位置

    千次阅读 2016-05-28 06:58:35
     获取控件焦点方法为 Getforce 一: 实现方法:主要在WM_MouseMove消息内部实现坐标的获取  使用函数:GetCursorPos(&p)   二:测试代码  void CGetPointDlg::OnMouseMove(UINT nFlags, CPoint point) {...
    
    

     获取控件的焦点方法为 Getforce

    一: 实现方法:主要在WM_MouseMove消息内部实现坐标的获取

          使用函数:GetCursorPos(&p)

     

    二:测试代码

     void CGetPointDlg::OnMouseMove(UINT nFlags, CPoint point)
    {

       /*以下为获取鼠标当前点在屏幕上面的坐标

         (x,y)坐标是以整个屏幕为参照

       */
        CString m_csPointScreen;
        CPoint p;
        GetCursorPos(&p);
        m_csPointScreen.Format(_T("%d,%d"),p.x, p.y); 
        m_edit2.SetWindowText(m_csPointScreen);

         
      /*以下为获取鼠标当前点在窗口(客户区坐标)上面的坐标

          (x,y)坐标是以客户区原点(即窗口标题以下,左侧边框往右)为参照*/


        CString m_csPointWindow;
        m_csPointWindow.Format(_T("%d,%d"),point.x, point.y);
        m_editPoint.SetWindowText(m_csPointWindow);



        CDialog::OnMouseMove(nFlags, point);
    }

     

    应该在WM_SETCURSOR消息响应函数中设置光标, 注意返回值应当为FALSE, 屏蔽掉默认的代码。

    代码:

    BOOL CCutPicDlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) 
    {
    // TODO: Add your message handler code here and/or call default
    SetCursor(LoadCursor(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDC_CURSORRECT)));

    return FALSE;
    //return CDialog::OnSetCursor(pWnd, nHitTest, message);
    }

    1、 自己绘制的光标。

    SetCursor(LoadCursor(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDC_CURSORRECT)));  // LoadCursor的第一个参数为AfxGetInstanceHandle()

    2、 系统定义标准光标。

    SetCursor(LoadCursor(NULL, IDC_CROSS));    // LoadCursor的第一个参数为NULL



    三:测试效果

    运行效果

     






    0
    展开全文
  • JavaScript获取光标的位置
    (function($) {
    		$.fn.extend({
    			insertContent: function(myValue, t) {
    				var $t = $(this)[0];
    				if (document.selection) { // ie  
    					this.focus();
    					var sel = document.selection.createRange();
    					sel.text = myValue;
    					this.focus();
    					sel.moveStart('character', -l);
    					var wee = sel.text.length;
    					if (arguments.length == 2) {
    						var l = $t.value.length;
    						sel.moveEnd("character", wee + t);
    						t <= 0 ? sel.moveStart("character", wee - 2 * t - myValue.length) : sel.moveStart("character", wee - t - myValue.length);
    						sel.select();
    					}
    				} else if ($t.selectionStart || $t.selectionStart == '0') {
    					var startPos = $t.selectionStart;
    					var endPos = $t.selectionEnd;
    					var scrollTop = $t.scrollTop;
    					$t.value = $t.value.substring(0, startPos) + myValue + $t.value.substring(endPos, $t.value.length);
    					this.focus();
    					$t.selectionStart = startPos + myValue.length;
    					$t.selectionEnd = startPos + myValue.length;
    					$t.scrollTop = scrollTop;
    					if (arguments.length == 2) {
    						$t.setSelectionRange(startPos - t,
    							$t.selectionEnd + t);
    						this.focus();
    					}
    				} else {
    					this.value += myValue;
    					this.focus();
    				}
    			}
    		})
    	})(jQuery);
    
    
    调用:$("#target").insertContent(content);
    展开全文
  • 最近开发遇到了需要获取EditText光标的位置,以及获取光标的位置,查找网络找到这些代码,给自己做个笔记,也给广大开发这一个小小的提醒; 不多说,直接上代码,获取光标所在的位置,需要用到反射: /** * @...

    最近开发遇到了需要获取EditText光标的位置,以及获取光标的位置,查找网络找到这些代码,给自己做个笔记,也给广大开发这一个小小的提醒;

    不多说,直接上代码,获取光标所在的位置,需要用到反射:

    /**
     * @return the coordinate of cursor. x=float[0]; y=float[1];
     */
    private float[] getCursorCoordinate (){
     /*
       *以下通过反射获取光标cursor的坐标。
       * 首先观察到TextView的invalidateCursorPath()方法,它是光标闪动时重绘的方法。
       * 方法的最后有个invalidate(bounds.left + horizontalPadding, bounds.top + verticalPadding,
                   bounds.right + horizontalPadding, bounds.bottom + verticalPadding);
       *即光标重绘的区域,由此可得到光标的坐标
       * 具体的坐标在TextView.mEditor.mCursorDrawable里,获得Drawable之后用getBounds()得到Rect。
       * 之后还要获得偏移量修正,通过以下三个方法获得:
       * getVerticalOffset(),getCompoundPaddingLeft(),getExtendedPaddingTop()。
       *
      */
    
        int xOffset = 0;
        int yOffset = 0;
        Class<?> clazz = EditText.class;
        clazz = clazz.getSuperclass();
        try {
            Field editor = clazz.getDeclaredField("mEditor");
            editor.setAccessible(true);
            Object mEditor = editor.get(mEditText);
            Class<?> editorClazz = Class.forName("android.widget.Editor");
            Field drawables = editorClazz.getDeclaredField("mCursorDrawable");
            drawables.setAccessible(true);
            Drawable[] drawable= (Drawable[]) drawables.get(mEditor);
    
            Method getVerticalOffset = clazz.getDeclaredMethod("getVerticalOffset",boolean.class);
            Method getCompoundPaddingLeft = clazz.getDeclaredMethod("getCompoundPaddingLeft");
            Method getExtendedPaddingTop = clazz.getDeclaredMethod("getExtendedPaddingTop");
            getVerticalOffset.setAccessible(true);
            getCompoundPaddingLeft.setAccessible(true);
            getExtendedPaddingTop.setAccessible(true);
            if (drawable != null){
                Rect bounds = drawable[0].getBounds();
                Log.d(TAG,bounds.toString());
                xOffset = (int) getCompoundPaddingLeft.invoke(mEditText) + bounds.left;
                yOffset = (int) getExtendedPaddingTop.invoke(mEditText) + (int)getVerticalOffset.invoke(mEditText, false)+bounds.bottom;
            }
        } catch (NoSuchMethodException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (NoSuchFieldException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        float x = mEditText.getX() + xOffset;
        float y = mEditText.getY() + yOffset;
    
        return new float[]{ x , y};
    }
    而获取所在的行号,比较简单,只需要如下即可:

    private int getCurrentCursorLine(EditText editText) {
        int selectionStart = Selection.getSelectionStart(editText.getText());
        Layout layout = editText.getLayout();
        if (selectionStart != -1) {
            return layout.getLineForOffset(selectionStart) + 1;
        }
        return -1;
    }

    展开全文
  • 你在第二个框里输入的内容就插到你刚才点的光标的位置啦。 但是他有个问题就是如果我想输入的是个公式什么的有html标签的元素。那么他也会把标签带过去。 但是我们真正想要的样式是希望它能解析出来标签的。 ...

     

    应用场景一般都是这种编辑器的比较多。

     

     

    下面的例子是这样的。

    如果我先在input框里输入几个日日日,然后在中间点了一下。最后把添加的内容写在第二个框里。点击添加。

    你在第二个框里输入的内容就插到你刚才点的光标的位置啦。

    但是他有个问题就是如果我想输入的是个公式什么的有html标签的元素。那么他也会把标签带过去。

    但是我们真正想要的样式是希望它能解析出来标签的。

    我试了一下把这个input换成可以编辑的div,这样<div contenteditable="true"  id='txt1' ></div>。然后下面本来是获取value的地方都换成innerHTML。

    这样也是输入框的效果。但是发现根本没有添加进去如何内容。

    最后我只能说,好像这个只能在input里面才能获取到selectionStart这些属性才知道你的光标在哪里。

    这个也只适用于输入的内容不能带任何的样式。

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>无标题文档</title>
    </head>

    <body>
     
    <input name="" id="txt1" cols="30" rows="10"   :placeholder= /><br>

    <input type="text" name="" id="txt2">
    <input type="button" value="添加" id="btn">
    <input type="button" value="获取内容" id="btn1" οnclick="get()">


    <div id="thistext"></div>
    <script type="text/javascript">
    window.onload = function(){
        var oTxt1 = document.getElementById("txt1");
        var oTxt2 = document.getElementById("txt2");
        var oBtn = document.getElementById("btn");
        oBtn.onclick = function(){
        getValue("txt1", oTxt2.value);
        }
    }
    </script>
    <script type="text/javascript">
        
        function get(){
            document.getElementById("thistext").innerHTML=document.getElementById("txt1").value;
            console.log(document.getElementById("txt1").value)
            
        }
        
    //了在IE、Firefox、Opera等主流浏览器的获取光标位置(getCursortPosition)以及设置光标位置(setCursorPosition)的函数    
    //objid:textarea的id   str:要插入的内容
    function getValue(objid,str){
       var myField=document.getElementById(""+objid);
       //IE浏览器
         if (document.selection) {
           myField.focus();
           sel = document.selection.createRange();
           sel.text = str;
           sel.select();
         }
       
         //火狐/网景 浏览器
         else if (myField.selectionStart || myField.selectionStart == '0')
         {
         //得到光标前的位置
           var startPos = myField.selectionStart;
           //得到光标后的位置
           var endPos = myField.selectionEnd;
           // 在加入数据之前获得滚动条的高度
           var restoreTop = myField.scrollTop;
           myField.value = myField.value.substring(0, startPos) + str + myField.value.substring(endPos, myField.value.length);
           //如果滚动条高度大于0
           if (restoreTop > 0) {
             // 返回
             myField.scrollTop = restoreTop;
           }
           myField.focus();
           myField.selectionStart = startPos + str.length;
           myField.selectionEnd = startPos + str.length;
         }
         else {
           myField.value += str;
           myField.focus();
         }
       }
    </script>


    </body>
    </html>

     

    可以看另一篇。如何在div是contentEditable=true的里面获取焦点的位置,并在焦点处插入内容。

    https://blog.csdn.net/qq_33769914/article/details/93596502

     

    展开全文
  • H5获取光标的位置

    千次阅读 2017-01-25 16:29:13
    设置光标是否自动锁定元素,即是否使元素自动获取焦点 在元素中,如果将该属性值设置为TRUE,或直接输入autofocus属性名称,那么对应元素将自动获取焦点 新表单属性 1: autocomplete novalidate 2: 新...
  • iOS TextField 获取光标的位置

    千次阅读 2015-12-26 00:10:37
    获取UITextField当前光标的位置,找了好久都没有找到合适的方法,后面阅读文档写出来了,就详细写出来,分享给大家。
  • 为什么要在contentEditable=truediv里面获取光标呢?因为这篇文章https://blog.csdn.net/qq_33769914/article/details/85002918我们知道想在一个内容里面插入一个新内容,如果这个新内容是段html代码。最后...
  • //设置光标到输入文字末尾  NSUInteger length = m_textInput.text.length;  m_textInput.selectedRange = NSMakeRange(length,0); 复制代码   - (BOOL)textViewShouldBeginEditing:(UITextView *)...
  • 不知道如何判断excel是否处于编辑状态,更无法得到光标的位置以及光标处的文字, 有木有哪位大哥知道啊?没有一点头绪,求指点,谢谢! CLSID clsid; CLSIDFromProgID(L"Excel.Application", &clsid);...
  • js获取光标位置

    万次阅读 多人点赞 2017-11-13 13:21:14
    DOM支持获取光标选中的范围,我们可以以此为切入点,来获取或定位光标的位置。当选取范围起始点和结束点一样时,就是光标插入的位置。1.1 术语anchor(瞄点):选区起点。focus(焦点):选区终点。range(范围):选区...
  • /*** 获取光标所在字符位置* @param obj 要处理控件, 支持文本域和输入框* @authorhotleave*//p>Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">/>js获取光标位置/*** ...
  • 需求是获取某元素内容,然后将该内容插入到文本框当前的光标位置(function($) {$.fn.extend({insertAtCaret: function(myValue) {var $t = $(this)[0];if (document.selection) {this.focus();sel = document....
  • 需求是获取某元素内容,然后将该内容插入到文本框当前的光标位置(function($) {$.fn.extend({insertAtCaret: function(myValue) {var $t = $(this)[0];if (document.selection) {this.focus();sel = document....
  • 获取UITextView光标所在位置的方法: //光标的frame CGRect caretRect = ...在textViewDidChange代理方法中,使用如上获取光标所在的位置,但是,在使用中发现偶尔会导致获取的光标位置为无穷大(x = +Inf, y = ...
  • JavaScript获取光标位置、定位光标位置 某些业务在处理input输入框触发oninput时间,需要控制光标位置,此方法依赖于jQuery 获取光标位置 //获取光标位置 (function($){ $.fn.extend({ // 获取当前...
  • C#获取光标位置

    千次阅读 2014-03-03 04:25:15
    我想在一个C#程序运行的时候获取光标的位置!不管这个光标是在程序内部还是外部都能在光标处输入文字,就像如果光标在记事本上就在记事本上输入,在word上就在Word上输入,在网页上就在网页上输入文字!关键是获取...
  • MFC和Halcon编程,获取窗口上光标位置的像素灰度值。
  • UITextField 光标的位置获取和设置

    千次阅读 2015-06-06 01:07:27
    今天做一个自定义数字键盘的控件,有需要获取到光标位置,所以在网上找到了一段代码,主要是获取光标的位置和设置光标的位置,贴出来。/** * 光标选择的范围 * * @return 获取光标选择的范围 */ - (NSRange)...
  • 第一步:获取光标相对于控件的位置 POINT cp = GetCaretPos(); 第二步:获取光标的位置 int xy = CharFromPos(cp); 第三步:获取光标所在的字符 int CharIndex = LOWORD(xy)  ...
  • 获取光标位置

    2012-11-30 15:46:00
    在项目开发中经常遇到input等设置光标位置到最后问题,今天我查了一下Google,找到了在IE、Firefox、Opera等主流浏览器的获取光标位置(getCursortPosition)以及设置光标位置(setCursorPosition)函数。...
  • 获取光标在TextBox或RichTextBox中行和列。
  • 对于写javascript写网页编辑器人来说...今天在此我贴出Javascript获取光标位置以及设置光标位置的代码,具体见下:获取光标位置函数: function getCursortPosition (ctrl) {  var CaretPos = 0; // IE Supp...
  • 获取光标的像素位置、索引位置

    千次阅读 2018-01-17 21:27:09
    1、获取光标的像素位置,这样才能判断输入框在哪个位置弹出 2、获取光标在输入框的索引位置,这样才能把变量放进输入框1、对于第一个问题的解决其实很简单,JQuery有一款插件:jquery.caret——可以很方便的取得...
  • DOM支持获取光标选中的范围,我们可以以此为切入点,来获取或定位光标的位置,当选取范围起始点和结束点一样时,就是光标插入的位置。 1.1. 术语 anchor:选区起点。 focus:选区终点。 range:选区范围,包含...
  • 本实例描述了如何用Javascript来控制和获取文本框/文本域鼠标光标位置,以下代码兼容IE和Chrome,Firefox,大家参考使用吧
  • 在项目开发中经常遇到input等设置光标位置到最后问题,今天我查了一下Google,找到了在IE、Firefox、Opera等主流浏览器的获取光标位置(getCursortPosition)以及设置光标位置(setCursorPosition)函数。...
  • C++笔记-获取光标(非鼠标坐标)在屏幕的位置

    千次阅读 多人点赞 2020-01-29 21:30:57
    这里有两种方式获取光标的位置! 本篇博文只能获取有句柄的光标的位置,比如LineEdit,记事本等。 像VS编辑框,IE里面的输入框,目前是找不到句柄的,获取不到光标 程序运行截图如下: 这里要介绍几个API ...
  • 前言: 高亮显示输入框中的关键字符,这就必须得用到可编辑div(或其他标签)元素了,这时我们需要获取光标的位置,以便插入字符。 正文: 正常情况下获取光标位置,代码如下...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,385
精华内容 554
关键字:

获取光标的位置