Edit控件中加入键盘上不存在的字符 (200分)

  • 主题发起人 主题发起人 chinesezyk
  • 开始时间 开始时间
C

chinesezyk

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大侠:
请问如何在Edit控件中任意光标位置输入一个键盘上不存在的字符如"☆",而光标
自动移到此字符后面.万分感谢!我现在在屏幕中加了这些特殊字符的工具条,
我希望能通过点击工具条加入,可是不知
如何控制光标位置

[:(]
 
呵呵,CTRL+c,CTRL+V
 
我现在在屏幕中加了这些特殊字符的工具条,我希望能通过点击工具条加入,可是不知
如何控制光标位置
 
edit1.setfocus;
sendmessage(edit1.handle,wm_keydown,vk_end,0);
 
这些字符键盘上不存在啊!
 
呵呵,有个办法不用控制光标
edit1.Text := Edit1.Text + Tool.Text;

顺便参考下面的代码把

procedure TForm1.FindDialog1Find(Sender: TObject);

var
I, J, PosReturn, SkipChars: Integer;
begin
for I := 0 to Memo1.Lines.Count do
begin
PosReturn := Pos(FindDialog1.FindText,Memo1.Lines);
if PosReturn <> 0 then {found!}
begin
SkipChars := 0;
for J := 0 to I - 1 do
SkipChars := SkipChars + Length(Memo1.Lines[J]);
SkipChars := SkipChars + (I*2);
SkipChars := SkipChars + PosReturn - 1;

Memo1.SetFocus;
Memo1.SelStart := SkipChars;
Memo1.SelLength := Length(FindDialog1.FindText);
Break;
end;
end;
end;
 
我插入的位置是任意的,并不一定要在Edit文本尾部
 
在输入时按住Alt键再按小键盘上的数字键即可
 
可以呵
先在你的工具栏里面的按钮里定义好各个字符,并可赋值给一个变量。

先取得在edit中光标的位置,应该用其selstart属性来吧
再取得光标前后的字符串
leftstr:=copy(edit.text,1,selstr);
rightstr:=copy(edit.text,selstr,length(edit.text));
进行简单的相加就是了!
edit.text:=LeftStr+InsertStr+RightStr;
 
我现在的问题就是如何取得edit 中光标的位置
 
不能通过软键盘输入吗?
答你最后一问,SelStart可以得到光标位置。
 
用工具条是为了更方便,用selstart实现了上述问题,可添加新字符后,光标总是
跑到前面去,如何控制光标在新加字符后面
 
后退
顶部