当前位置:主页>销售管理软件> 列表

触摸屏时间录入问题, 找进销存需求文档

记账软件版1楼: 如题, 在没有键盘和鼠标操作情况下,时间录入非常的麻烦,
1 做了个MaskEdit 编辑框, input mask=''!90:00;1;_'' 做了个1~10 的键盘在旁边,但操作并不能达到象光标在那里,就在那里输入的信息那么容易. 大家有什么建议吗? 或者有什么控件更能达到这种效果录入啊. 非常感谢您的回复!

2楼: 1~10键的KeyUp事件Edit编辑框Edit.Text:= Edit.Text + (Sender As TLable).Caption 如excel进销存模板

3楼: 时、分、秒分别用上、下按钮增加、减少。短按一下增加(减少)1,长按连续快速增加(减少)。

4楼: 对像上面那样写就可以了! 如果你用到的字符不多,把你所用到的字符做成小键盘的形式就OK了。

5楼: 还是用0-9的按钮键盘
可以用消息来做
var newobject:Tobject;
当你手指按到哪个object 就保存到 NewObject 然后SetFocus
然后可以通过消息来做(触摸评我做过,就像自主服务)
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
const
wm_key1=wm_user+100;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
procedure mes(var Msg:tmessage);message wm_key1;
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
i:integer;
a:Tobject;

implementation

{$R *.dfm}


procedure TForm1.Button1Click(Sender: TObject);
begin
a:=edit1;
postmessage(form1.Handle,wm_key1,0,0);
end;

procedure TForm1.mes(var Msg: Tmessage);
begin
if msg.Msg=wm_key1 then
(a as Tedit).Text:=(a as Tedit).Text+''1'';
end;

end.

6楼: 谢谢大家,
TO sbzldlb, 那你的方法很好,但不是太能理解, 如果消息加2或3或....,
是要写9个
procedure mes(var Msg:tmessage);message wm_key1;
方法吗? 谢谢你的回复.

记账软件版7楼: 在工业控制中,经常遇到你这样的情况,通常是这样处理:
可以设置光标移动(左右),光标定位后输入的数字就修改该位,
你是时间再加入有效性判断就可以了,比如分钟应该小于60吧。

8楼: 帮顶!

http://www.source520.com

站长开发推广同盟 站长朋友的终极驿站
同时拥有海量源码电子经典书籍下载

http://www.source520.com/search/search.asp

"编程.站长"论坛搜索引擎-----为中国站长注入动力!

9楼: 谢谢,
to zywcd 能给个例子吗?
to : ds

10楼: 我顶!

11楼: 可以做两个按钮, 一个加, 一个减,然后对应在钟和分的框上加和减就可以了.

12楼: 多人接受答案了。 如进销存需求文档