起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 169|回复: 7

【结】怎样控制光标的定位问题???**

[复制链接]
发表于 2008-3-12 16:27:06 | 显示全部楼层 |阅读模式
RT
   我想在我输入文本的时候控制键盘的输入,比如有个"字段1",它的字段大小是3个字符(假如),然后我输入 "123"之后光标就只能停留在"3"后面,这个时候在这个编辑区域里面光标只能向前移动!当我按键盘的其他按键的时候都不能对这个光标进行操作,除了"TAB"键(当然了,按删除键删除字符是可以的)怎么实现??

qq截图未命名.jpg

4.03 KB, 下载次数: 131

回复

使用道具 举报

发表于 2008-3-12 17:01:29 | 显示全部楼层
不知道这样是否就是楼主要的效果(如果不是,就请楼主参考代码试试看)
procedure TKBBD1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Business.System.StringUtils.Length(TEdit(Sender).text) >= 3 then
  begin
    if key <> #8 then
      key := #0;
  end;
end;

procedure TKBBD1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  if Business.System.StringUtils.Length(TEdit(Sender).text) >= 3 then
  begin
    if TEdit(Sender).SelStart <=3 then
      if key =  Borland.Delphi.Windows.vk_Left  then
        key := Borland.Delphi.Windows.vk_right;
  end;
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-13 09:00:28 | 显示全部楼层
最初由 zfang 发布
[B]不知道这样是否就是楼主要的效果(如果不是,就请楼主自己再修改代码试试看)
procedure TKBBD1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Business...

以下省略...... [/B]



我是想控制功能的整个编辑区域的怎么写(功能是引用表格文档的)?  (如图)

qq截图未命名12.jpg

18.14 KB, 下载次数: 114

回复 支持 反对

使用道具 举报

发表于 2008-3-13 09:56:44 | 显示全部楼层
表格文档好像不支持。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-13 10:37:59 | 显示全部楼层
在功能窗体上有KeyDown和KeyPress事件...不能控制么??我有好几个功能都是引用表格文档来做的哦...不支持的话难道重做??帮帮忙想下有甚么好的办法解决??
回复 支持 反对

使用道具 举报

发表于 2008-3-13 10:50:19 | 显示全部楼层
那是窗体上的事件,不是文档上的,能不能这样儿,别用表格文档,用 表单文档,然后用Edit来做界面,目前只能这样子。表格文档目前就是不支持这些控制。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-13 11:38:24 | 显示全部楼层
用 表单文档 来做的话,如果我有好几个要填写的字段,那就是要放好几个Edit控件进去了?然后在相应的控件上面写相应的代码控制??这样就达不到理想的效果了.工作量也会增大.如果平台目前只能这样来做.那这个贴就先结了.Thanks zfang 的解答!
回复 支持 反对

使用道具 举报

发表于 2008-3-13 11:48:03 | 显示全部楼层
好,谢谢反馈!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-8 06:12 , Processed in 0.059152 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表