怎样获取EditText光标位置前或后的内容

怎样获取EditText光标位置前或后的内容,第1张

showmessage( '光标前:"' +copy(edit1Text,1,edit1SelStart) +'" 光标后:"' +copy(edit1Text,edit1SelStart+1,length(edit1Text)) +'"');

MFC的可以用tallica1983 的方法,如果不希望定义变量,也可以这样

CSting str;

GetDlgItem(ID_Of_EDIT)->GetWindowsText(&str);

如果不是MFC的,而是SDK的,则需要这样:

HWND hwndOfEdit = GetDlgItem(Hwnd_OF_Dialog, ID_OF_EDit);

char cStr[256];

GetWindowText(hwndOfEdit, cStr, 256);

Android中Edit text控件的内容可以添加一个监听器,来获取内容放到别的控件上去,示例如下:

package nbesense7vinciedittext;

import androidappActivity;

import androidosBundle;

import androidviewKeyEvent;

import androidviewView;

import androidwidgetEditText;

import androidwidgetTextView;

public class EditTextDemoActivity extends Activity {

private EditText editText;

private TextView textView;

/ Called when the activity is first created /

@Override

public void onCreate(Bundle savedInstanceState) {

superonCreate(savedInstanceState);

setContentView(Rlayoutmain);

editText = (EditText)findViewById(Ridinput);

textView = (TextView)findViewById(Ridoutput);

//设置EditText按键输入时的事件

editTextsetOnKeyListener(new EditTextOnKeyListener(){

@Override

public boolean onKey(View arg0, int arg1, KeyEvent arg2) {

// TODO Auto-generated method stub

textViewsetText(editTextgetText());//获取edittext的内容

return false;

}

});

}

}

可以用GetCursorPos函数获取光标位置

函数功能:该函数检取光标的位置,以屏幕坐标表示。

函数原型:BOOL GetCursorPos(LPPOINT lpPoint);

参数:

IpPoint:POINT结构指针,该结构接收光标的屏幕坐标。

Visual Basic 60 函数声明:

[Public/Private] Declare Function GetCursorPos Lib "user32" Alias "GetCursorPos" (lpPoint As POINTAPI) As Long

使用时要先定义一个数据结构:

Public Type POINTAPI

x As Long

y As Long

End Type

BCB2007或之前

int a =atoi(this->Edit1->Textc_str());

int b =atoi(this->Edit2->Textc_str());

int c = a+b;

this->Edit3->Text = c;

BCB2009或之后

int a =_wtol(this->Edit1->Textc_str());

int b =_wtol(this->Edit2->Textc_str());

int c = a+b;

this->Edit3->Text = c;

这个太简单了

首先得到当前光标位置 index=editTextgetSelectionStart();

然后通过循坏从index位置向后遍历

for(int i=index;i<strlength();i++){

if(strcharAt(i)=='\n'||i==strlength()-1){

当前行的尾字符下标=i;

break;

}

}

然后从index位置向前遍历

for(int i=index;i>=0;i--){

if(strcharAt(i)=='\n'||i==0){

当前行的头字符下标=i;

break;

}

}

当前行的头尾下标都知道了,不就得到了当前光标所在的行字符串

strsubStr(头,尾);

以上就是关于怎样获取EditText光标位置前或后的内容全部的内容,包括:怎样获取EditText光标位置前或后的内容、如何获取EDIT中的数值、如何获取android安卓控件EditText中的内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9282912.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存